一、常见错误
- 中英文符号
- 缩进
- 函数拼写
二、变量和字符串
(一)变量
- 创建变量
变量名通常由字母、数字和下划线构成,不能以数字打头。区分大小写。Py3支持中文变量名。
PS:变量不需要像c语言那样先声明。
- 使用变量
下面两段代码结果相同
x = 3
y = 5
z = x
x = y
y = z
print(x, y)
x = 3
y = 5
x, y = y, x
print(x, y)
(二)字符串
- Single quotes:使用一对单引号将文本包含起来。
- Double quotes:使用一对双引号将文本包含起来。
PS:引号必须成对,必要时采用转义字符’\’,对符号进行保护。
- 原始字符串:在第一个引号前加r。
反斜杠放在行末,表示语句还没结束。
- Triplc quoted:长字符串,实现跨行,前后分别用三个单引号或双引号。( 要对应!)
- 字符串中的加法和乘法
- 加法:拼接
- 乘法:复制
三、随机数
random
- 调用:import random
- 随机获取a到b之间的整数:random.randint(a,b)
随机数的重现
- 获取随机数种子:random.getstate()
- 重新设置随机数生成器的内部状态:random.setstate()
四、数字类型
- 整形在python中不限长度
- 小数在python中以浮点数存在
>>> 0.1 + 0.2
0.30000000000000004
- 使用decimal(十进制)精确地计算浮点数
>>> import decimal
>>> a = decimal.Decimal('0.1')
>>> b = decimal.Decimal('0.2')
>>> print(a + b)
0.3
>>> c = decimal.Decimal('0.3')
>>> a+b == c
true
- 复数的实部与虚部都是以浮点数的形式存在
>>> x = 1 + 2j
>>> x.real #实部
1.0
>>> x.imag #虚部
2.0
五、布尔类型
python中任何对象都能进行真值测试(测试该对象的布尔类型值为True或False),用于if或者while语句的条件判断,也可以作为布尔逻辑运算符的操作数。
以下为bool结果为false的情况:
六、常用运算符
a = b = c = 10 #是合法的
-
// : 不管整数还是浮点数 都进行地板除法
e.g.
10 // 8 = 1
3.0 // 2 = 1.0 -
** : 幂运算
e.g.
3 ** 2 = 9
幂运算符比左侧符号优先级高,比右侧符号优先级低
e.g
-3 ** 2 = -9
3 ** -2 = 0.1111111
!!必要时加括号增加代码的可读性
- 逻辑运算符
3 < 4 < 5 #是合法的
#相当于
(3 < 4) and (4 < 5)
PS:
- 地板除:向下取整,即所取的数不大于实际的数
e.g.
3 // 2 = 1
-3 // 2 = -2 - pow传入3个参数 代表对前两个数进行幂运算后对第3个数进行取余.
- 优先级
七、分支与循环
(一)分支
- if
#与c语言不同,py中的if格式:
if x>1:
print('A')
- else if = elif
使用 else if 要注意缩进 - 三元操作符
语法:x if 条件 else y
e.g.
#如果 x < y 则 small = x, 否则 small = y
small = x if x < y else y
- 分支语句的嵌套使用
if xxx:
xxx
else:
if xxx:
xxx
else:
xxx
(二)循环
- while循环
可与else连用,可用于检测有break的循环的退出情况
while xxx:
xxx
break
else: #当while条件不为真时,即不是通过break退出循环时,执行该语句
xxx
- break和continue只能作用于一层循环
- assert(断言)
- for循环
语法:
for 目标 in 可迭代对象:
循环体
e.g.
>>> a = 'thethe'
>>> for i in a:
print(i, end=' ')
t h e t h e
>>> b = ['一', '二', '三四']
>>> for i in b:
print(i, len(i))
一 1
二 1
三四 2
- range
生成数字序列
e.g.
>>> for i in range(5):
print(i)
0
1
2
3
4
>>> for i in range(1,5):
print(i)
1
2
3
4
>>>for i in range(1, 6, step = 2):
print(i)
1
3
5
>>> for i in range(6, 1, step = -2):
print(i)
5
3
1