最近比较流行python,于是我这种从不赶潮流的人也决定跟一把潮流。工作原因学习时间有限,好容易挤着时间看了一部分网上的视频,却被劝说没什么用处,我们就是靠java吃饭的。当然多学一种语言也不会有什么坏处,既然开始了,那就应该坚持,不管对错,不管是否有用都要把它学完。下面是学习笔记:
-----------------------------------Bif及打印----01-------------------------------
BIF 就是 Built-in Functions,内置函数。
1.python是什么语言?
python是一种支持面向对象的解释性高级语言,属于脚本语言的一种
2.IDLE是什么?
是python程序的基本ide(集成开发环境),具备基本的ide的功能
3.print()的作用是什么?
打印输出
4.python中表示乘法的符号是什么?
*数字中代表乘法,字符串中代表执行5次,例>>> print('a'*5) aaaaa
5.为什么print("i love you" + 5)不可以执行会报错,而print("i love you" * 5)可以正常执行?
python中不同类型的东西不能加在一起
6.如何在字符穿中嵌入双引号
>>> print('a"b"c') a"b"c
>>> print ('a\"b"c') a"b"c
>>> print("a\"b\"c") a"b"c
---------------------------------缩进---02--------------------------------------
1. Python3 提供了多少个 BIF?
在 Python 或 IDLE 中,输入 dir(__builtins__) 可以看到 Python 提供的内置方法列表
help(input)
2. 在 Python 看来:'FishC' 和 'fishc' 一样吗?
不一样,在python种区分大小写。但是开发过成功很难犯此类问题,python是可以先使用后声明的。
3. Python 中什么是最重要的?你赞同吗?
缩进,在要缩进之前打“:“,python会进行自动缩进
4. 这节课的例子中出现了“=”和“==”,他们表示不同的含义,你在编程的过程中会不小心把“==”误写成“=”吗?有没有好的办法可以解决这个问题呢?
=是赋值,==是比较,python种很难犯此类为难题,如果if(c=1){}会直接报错,if里不可以赋值
5. 你听说过“拼接”这个词吗?
拼接字符串:"I"+"LOVE"+"YOU"='ILOVEYOU'
动动手:
0. 编写程序:hello.py,要求用户输入姓名并打印“你好,姓名!”
name=input('请输入你得姓名')
print('你好'+name)
1. 编写程序:calc.py 要求用户输入1到100之间数字并判断,输入符合要求打印“你妹好漂亮”,不符合要求则打印“你大爷好丑”
temp = input('请输入1到100之间的数字:')
num = int(temp)
if 1<=num<=100:
print('你好漂亮')
else:
print('你好丑')
-----------------------------------变量及赋值---03--------------------------------------
0. 以下哪个变量的命名不正确?为什么?
(A) MM_520 (B) _MM520_ (C) 520_MM (D) _520_MM
C:变量名不能以数字开头
1. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>>myteacher = '小甲鱼'
>>>yourteacher = myteacher
>>>yourteacher = '黑夜'
>>>print(myteacher)
'小甲鱼'
2. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>> myteacher = '小甲鱼'
>>> yourteacher = myteacher
>>> myteacher = '黑夜'
>>> print(yourteacher)
'小甲鱼'
3. 在不上机的情况下,以下代码你能猜到屏幕会打印什么内容吗?
>>>first = 520
>>>second = '520'
>>>first = second
>>>print(first)
会打印:520,注:这里没有单引号括起来,但是他是一个字符串,因为使用 print() 打印,所以不包含单引号
4. 除了使用反斜杠(\)进行字符转义,还有什么方法可以打印:Let's go! 这个字符串?
>>> "Let's go!" >>>'Let\'s go'
5. 如果非要在原始字符串结尾输入反斜杠,可以如何灵活处理?
>>> str = r'C:\Program Files\FishC\Good''\\'
6. 在这一讲中,我们说变量的命名需要注意一些地方,但小甲鱼在举例的时候貌似却干了点儿“失误”的事儿,你能看得出小甲鱼例子中哪里有问题吗?
在例子中小甲鱼起了个 str 名字的变量,但事实上我们发现,str 的颜色跟普通变量貌似不同?没错,str() 和 print() 都是内置函数,但 Python 貌似不介意我们对内置函数进行赋值操作,所以这点我们以后就要注意啦,否则可能会出现 BUG
动动手:
0. 还记得我们第一讲的动动手的题目吗?这一次要求使用变量,计算一年有多少秒?
提示:可以以 DaysPerYear(每年天数),HoursPerDay(每天小时数),MinutesPerHour(每小时分钟数),SecondsPerMinute(每分钟秒数)为变量名。
>>> DaysPerYear = 365
>>> HoursPerDay = 24
>>> MinutesPerHour = 60
>>> SecondsPerMinute = 60
>>> result=DaysPerYear*HoursPerDay*MinutesPerHour*SecondsPerMinute
>>> print(result)
1. 关于最后提到的长字符串(三重引号字符串)其实在 Python3 还可以这么写,不妨试试,然后比较下哪种更方便?
>>>string = (
"我爱鱼C,\n"
"正如我爱小甲鱼,\n"
"他那呱唧呱唧的声音,\n"
"总缠绕于我的脑海,\n"
"久久不肯散去……\n")
>>> string="""我爱鱼C,
正如我爱小甲鱼,
他那呱唧呱唧的声音,
总缠绕于我的脑海,
久久不肯散去……"""
2. 请写下这一节课你学习到的内容:格式不限,回忆并复述是加强记忆的好方式!
变量名,单引号转义,三重双引号换行,变量名给值
------------------------------分支循环---04--------------------------------------
循环:
while a==b:
if c==d:
else:
if e==g:
else:
------------------------------数据类型----05--------------------------------
1、数值类型
①整型int:整型和长整型统一表示(同java的long)
②浮点型float:用小数点区分,表示小数
③e记法:
>>> 150000000000
150000000000
>>> 1.5e11
150000000000.0
>>> 15e10
150000000000.0
④布尔类型bool:
>>> True+True
2
>>> True+False
1
>>> True*False
0
2、类型转换的用法bif
①int()
>>> a='520'
>>> b=int(a) 字符串为整型转int可以正常转换,其余情况会直接报错
>>> b
520
>>> a=5.99
>>> c=int(a) 浮点型转为int做截断处理
>>> c
5
②float()将字符串转换为浮点数
>>> a='520'
>>> b=float(b)
>>> b
520.0
>>> a=520
>>> b=float(a)
>>> b
520.0
③str()转换为字符串
>>> a=5.99
>>> b=str(a)
>>> b
'5.99'
>>> c=str(5e19)
>>> c
'5e+19'
注:如果之前str赋值的话,它的身份将不再是bif,而是一个变量名,再次使用str()会报错。
3、关于获得类型的信息
①type()获取变量的类型
>>> type('520')
<class 'str'>
>>> type(5.2)
<class 'float'>
>>> type(1)
<class 'int'>
>>> type(5e10)
<class 'float'>
②isinstance()比较两个变量的类型是否一致
>>> isinstance('小甲鱼',str)
True
>>> isinstance(1,int)
True
>>> isinstance(5.2,int)
False
------------------------------常用操作符----06--------------------------------
①
>>> a=b=c=d=10
>>> a+=1
>>> a
11
>>> b-=3
>>> b
7
>>> c*=2
>>> c
20
>>> d/=2
>>> d
5.0
②
>>> 10//2 按照原来的类型返回
5
>>> 3.0//2
1.0
>>> 11%2
1
>>> 3**2 幂运算
9
>>> -3**2
-9
>>> 3**-2
0.1111111111111111
③优先级
先* / 后+- 遇到括号先算括号
④逻辑操作符
and true+true=true
or false+false=false
not 不等于 >>> 3<4<5 True
------------------------分支和循环----07/08/09-------------------------
①见plangame.py
②
score = int(input('请输入一个分数:'))
if 100 >= score >= 60:
print('A')
elif 60 > score >= 0:
print('D')
else:
print('输入错误')
③条件表达式(三元操作符)
>>> x,y=4,5
~~~~~~~~~~~~~~~
>>> if x<y:
small=x
else:
small=y
>>> small
4
~~~~~~~~~~~~~~~
>>> small=x if x<y else y
>>> small
4
④断言assert,当条件不成立时会抛出异常
>>> assert 3>4
Traceback (most recent call last):
File "<pyshell#9>", line 1, in <module>
assert 3>4
AssertionError
⑤while循环
while 条件:
循环体
⑥for循环
for 目标 in 表达式:
循环体
例:
>>> favourite = 'fishC'
>>> for i in favourite:
print(i,end=' ')
f i s h C
⑦range
>>> for i in range(1,10,2):
print(i)
1
3
5
7
9
⑧break和continue
break:终止当前循环,跳出循环体
continue:结束本次循环,并开始下一轮循环
------------------------数组----10/11/12-------------------------
①列表里可以添加各种类型的元素
>>> mix=[1,'s',4.3,[1,2,3]]
>>> mix
[1, 's', 4.3, [1, 2, 3]]
>>> empty=[]
>>> empty
[]
②向列表添加元素
>>> member=['小甲鱼','a','b','c']
>>> member
['小甲鱼', 'a', 'b', 'c']
>>> member.append('追加1')
>>> member
['小甲鱼', 'a', 'b', 'c', '追加1']
>>> member.extend(['追加2','追加3'])
>>> member
['小甲鱼', 'a', 'b', 'c', '追加1', '追加2', '追加3']
>>> member.insert(0,'牡丹')
>>> member
['牡丹', '小甲鱼', '牡丹', 'a', 'b', 'c', '追加1', '追加2', '追加3']
③获取列表中的元素
>>> member[0]
'牡丹'
④从列表删除元素
>>> member
['a', 'a', 'b', 'c', 'f', 'c', 'd', 'e']
>>> member.remove('c') 删除第一个匹配的元素
>>> member
['a', 'a', 'b', 'f', 'c', 'd', 'e']
>>> del member[0]
>>> member
['a', 'b', 'f', 'c', 'd', 'e']
>>> member.pop()
'e'
>>> name=member.pop()
>>> name
'd'
>>> member
['a', 'b', 'f', 'c']
⑤列表分片slice
>>> member[1:3] 不包含最后一个元素
['b', 'f']
>>> member 分片后原列表的元素不会发生改变
['a', 'b', 'f', 'c']
>>> member[:3] 默认从0开始
['a', 'b', 'f']
>>> member[1:] 默认到最后一个元素
['b', 'f', 'c']
>>> member[:] 列表的拷贝
['a', 'b', 'f', 'c']
⑥列表的常用操作符
>>> list1=list3=[123,456]
>>> list2=[234,123]
>>> list1>list2 比较列表中元素的第一个值
False
>>> (list1<list2) and (list1==list3)
True
>>> list4=list1+list2 列表的拼接
>>> list4
[123, 456, 234, 123]
>>> list3*3 列表的循环拼接
[123, 456, 123, 456, 123, 456]
>>> list3*=3 列表拼接赋值
>>> list3
[123, 456, 123, 456, 123, 456]
>>> list5=[123,['a','b'],456] 综合列表
>>> 'a' in list5
False
>>> 'a' in list5[1]
True
>>> list5[1][0]
'a'
⑦列表的小伙伴们(列表类型的内置函数)
>>> list1
[456, 123, 456, 123, 456, 123]
>>> list1.count(123) 123出现的次数
3
>>> list1.index(123) 123出现的索引位置
1
>>> list1.reverse() 将列表例的数据倒置
>>> list1
[123, 456, 123, 456, 123, 456]
>>> list1.sort() 将列表按照从小到大的顺序排序
>>> list1
[123, 123, 123, 456, 456, 456]
>>> list1.sort(reverse=True) 将列表按照倒序排序
>>> list1
[456, 456, 456, 123, 123, 123]
⑧注意列表的拷贝及赋值
>>> list1
[2, 6, 7, 3, 1, 4, 3, 9]
>>> list2=list1[:] 拷贝,在内存中重新复制一份
>>> list2
[2, 6, 7, 3, 1, 4, 3, 9]
>>> list3=list1 给原来的值重新贴一个标签,会随着值得变化而变化
>>> list3
[2, 6, 7, 3, 1, 4, 3, 9]
>>> list1.sort()
>>> list1
[1, 2, 3, 3, 4, 6, 7, 9]
>>> list2
[2, 6, 7, 3, 1, 4, 3, 9]
>>> list3
[1, 2, 3, 3, 4, 6, 7, 9]
------------------------元组---13-------------------------
①元组和列表非常相近,区别:
列表可以任意修改一个元素,可以任意删除和插入元素
元组是不可改变的
②创建一个元组(元组主要是用()和逗号用作区分)
③更新和删除一个元组
>>> temp
('a', 'b', 'c')
>>> temp=temp[:1]+('d',)+temp[1:] 元组中添加一个元素
>>> temp
('a', 'd', 'b', 'c')
>>> del temp 删除元组
④元组相关操作符
同列表一样
------------------------字符串----14/15-------------------------
见单独笔记
----------------------------序列---16---------------------------
>>> a=list()
>>> a
[]
>>> len(a) 判断a列表的长度
0
>>> b='I love fishc'
>>> b=list(b) 把字符串转为list列表
>>> b
['I', ' ', 'l', 'o', 'v', 'e', ' ', 'f', 'i', 's', 'h', 'c']
>>> len(b) 判断b列表的长度
12
>>> c=(1,1,2,3,5,8,13)
>>> c=list(c)
>>> c
[1, 1, 2, 3, 5, 8, 13]
>>> numbers=[1,18,14,0,-3,-98,76]
>>> max(numbers) 取列表里的最大数
76
>>> min(numbers) 取列表里的最小数
-98
>>> tuple2=(3.1,3.4,2.5)
>>> sum(tuple2) 列表求和
9.0
>>> sorted(numbers) 把number排序
[-98, -3, 0, 1, 14, 18, 76]
>>> list(reversed(numbers)) 列表反转用list包一层
[76, -98, -3, 0, 14, 18, 1]
>>> list(enumerate(numbers)) 列举枚举
[(0, 1), (1, 18), (2, 14), (3, 0), (4, -3), (5, -98), (6, 76)]
>>> a=[1,2,3,4,5,6]
>>> b=[4,3,2,3,2,2,3,4,4]
>>> list(zip(a,b)) 打包两个list,从0开始,多余的部分舍弃掉
[(1, 4), (2, 3), (3, 2), (4, 3), (5, 2), (6, 2)]