Week1学习总结
Python优缺点
- 解释性语言,可移植性,跨平台
- 面向对象编程
- 语法简洁,可读性高
- 开源,强大的生态圈
- 运行效率低
- 源码加密难
变量
什么是变量?
- 变量是数据的载体
变量的命名规则
-
变量以字母,数字,下划线命名,其中数字不能开头
-
变量区分大小写(S和s不是统一变量)
-
不能用Python的关键字(Python中一些特殊含义的单词)和保留字命名(Python中已使用的单词)
关键字如图所示:
建议使用规则
-
见名之意(看到变量名字,就代表它什么意思)
-
变量名使用全小写,多个单词用下划线链接(Snake case)
变量的重命名
在使用PyCharm的过程中,要对多个相同的变量重命名:选择变量-右键-refactor-rename,如图:
input()和print()函数
- print()函数–>打印一个值
- input()函数–>输入一个值,这个值是个字符串类型
基础数据类型
python 的数据类型包括:整型(int)、浮点型(float)、字符串(str)、布尔类型(bool)、复数类型(complex),布尔类型的值只有两个(True/False)
Type()函数
查看变量的数据类型
print(type(1))
print(type(1.5))
print(type("1"))
print(type(True))
如图:
运算符
数学运算符
数学运算符包括:+、-、*、/、//、%、**
例子:
print(50 + 30) # 结果为80
print(50 - 30) # 结果为20
print(50 * 30) # 结果为1500
print(50 / 30) # 结果为1.666..7
print(50 // 30) # 对50取整,结果为1
print(50 % 30) # 对50取余/取模,结果为20
print(50 ** 30) # 幂运算,结果为:931322574615478515625000000000000000000000000000000
结果:
关系运算符
关系运算符包括:>、<、>=、<=、==、!=
注: 关系运算符结果是布尔值(True/False)
print(50 > 30) # True
print(50 < 30) # False
print(50 >= 30) # True
print(50 <= 30) # False
print(50 == 30) # False
print(50 != 30) # True
结果:
逻辑运算符
逻辑运算符:or 、 and 、 not
优先级:or < and < not
or:两个中有一个为真就为真
and:全为真才为真
not:不是真/不是假
扩展
1.布尔值为False的几种情况:空字符串、0、None;除开这几种情况下,布尔值都为True
2.and:当前一个为真,返回后面的值;当前一个为假,返回前面的值
3.or:当前一个为真,返回前一个值;当前一个为假时,返回后面的值
例如:
print(1 and 0) # 结果为 0
print(0 and 1) # 结果为 0
print(1 and 2) # 结果为 2
print(1 or 0) # 结果为 1
print(0 or 1) # 结果为 1
print(0 or False) # 结果为 False
结果:
运算符的优先级比较
格式化输出的方式
- 第一种
a = 5
b = 3
print('%f + %f = %f' % (a, b, a + b))
print('%f - %f = %f' % (a, b, a - b))
print('%f * %f = %f' % (a, b, a * b))
print('%f // %f = %f' % (a, b, a // b)) # 取整
print('%f / %f = %f' % (a, b, a / b))
print('%f %% %f = %f' % (a, b, a % b)) # 取余
print('%f ** %f = %f' % (a, b, a ** b)) # 幂运算
结果:
- 第二种
a = 5
b = 3
print(f'{a} + {b} = {a+b:.2f}')
print('{} - {} = {:.2f}' .format(a, b, a - b))
print(f'{a} % {b} = {a % b}') # 取余
结果:
选择结构(分支结构)
单分支语法:
if 条件 :
pass # 占位符
多分支语法:(分支结构可以嵌套使用,但是一定要注意嵌套深度,注意代码可读性)
if 条件 :
pass # 占位符
elif:
pass
elif:
pass
else:
pass
循环结构
for-in: 确定循环次数
range()函数:range(a,b,c)代表的是生成一个[a,b)左闭右开的一个序列,c代表步长。
for i in range(10):# range()生成一个从(0-9)的序列
print(i)
结果:
while:不确定循环次数
while:
pass
break和continue
- break:跳出当前循环
- continue:结束当次循环,继续进行下次循环
注意:
当触发break跳出当前循环的时候,for对应的else不在运行
for i in range(3):
for j in range(6):
if j == 5:
break
print(j)
else:
print('hello')
else:
print('world')
结果:
从图中可以发现,当遇到break后,内层for对应的else不在运行。但是最外层for循环与else不受影响。
列表(list)
列表-容器型数据类型,有序,可变的 ,可进行(增、删、改、查)操作,可存储任意的数据类型
1.创建一个列表
lists = [] #创建一个空列表
2.向列表追加一个元素,append(value)方法
lists = [1,2,3,4]
lists.append(5) #往列表末尾增加一个元素
3.向列表指定位置插入一个元素、insert(index,value)方法
lists = [1,2,3,4]
lists.insert(0,5) #将5加入到列表指定下标0的位置
4.删除一个元素,pop()
lists = [1,2,3,4]
lists.pop() # 删除末尾的元素
lists.pop(0) # 删除指定下标元素
5.遍历列表
lists = [1,2,3,4]
# 第一种方法,只读
for i in lists:
print(i)
# 第二种方法,可读可写
for i in range(len(lists)):
print(lists[i])
# 第三种方法,获取下标和值
for i ,j in enumerate(lists):
pritnt(i,j)