一、语句
语句由一些表达式组成, 运算符、常量和变量构成表达式。
1.条件语句
if 真值表达式1:
语句1
elif 真值表达式2:
语句2
elif 真值表达式3:
语句3
...
else:
语句n
2.pass语句:又名空语句,通常用来填充语法空白。
3.循环语句
(1)while语句
while 真值表达式:
语句1(表达式为真执行)
...
else:(else是可以省略的)
语句2
...
(2)for语句:可以用来遍历序列或可迭代对象的每一个对象
for 变量列表 in 可迭代对象:
语句1
...
else:(else是可以省略的)
语句2
...
for语句举个例子:
for i in range(1,10,2):
print(i)
print('hello')
1
hello
3
hello
5
hello
7
hello
9
hello
Process finished with exit code 0
3.break语句
作用:用于循环语句(while,for)中,用来终止当前循环语句的执行
说明:
(1) break语句通常御if语句组合使用
(2) 当break语句执行后,此循环语句break之后的语句将不再执行
(3) break语句终止循环时,循环语句的else子句将不会执行
(4) break语句只能终止当前循环语句的执行,如有循环嵌套时,不会跳出外重循环
4.continue语句
作用:用于循环语句(while, for)中,不再执行本次循环内continue之后的语句,重新开始一次新的循环。
补充1 可迭代对象:
字符串str,列表list,元组 tuple,字典 dict,集合set,固定集合 frozenset,迭代器
补充2 range函数使用:
补充3 死循环:正常情况下,要避免死循环
(1)死循环是指循环条件一直成立的循环
(2)死循环通常用break语句来终止循环
(3)死循环的e1se子句永远不会执行
二、运算符
1.布尔运算
and or not(与或非)
(1)非:not 表达式
0就是假,非0就是真;其次,' '(空字符串)也是为0;None也是为0。
not 100(False) not 0.0(True)
not ' '(True) not 'False'(False)
(2)与:表达式1 and 表达式2,只有两个表达式都为真,才为真。
说明:当表达式1的布尔测试值为True时,返回表达式2,否则返回表达式1
0 and 100(返回0) 100 and 200(返回200) 100 and 0(返回0)
(3)或:表达式1 or 表达式2,只要一个为真,就为真。
2.位与:表达式x & 表达式y,作用是按位操作,两个对应的位都为1,结果才为1
如:10 & 20,先转成二进制,再进行按位操作。
10 & 20=0b01010 & 0b10100=0b00000=0(假)
注意,10 && 20=1(真)
补充:bin(x)函数,将x转换成二进制的字符串,有单引号的,就是字符串
3.位或:表达式x | 表达式y,作用是按位操作,两个对应的位只要有一个为1,则为1
如:10 | 20=0b01010 | 0b10100=0b11110=16+8+4+2=30
4.位异或:表达式x ^ 表达式y,作用是按位操作,如果两个对应的位不同,则为1;相同,则为0。
5.左移运算:表达式x << 整数表达式y,作用是将x的二进制值,按位向左移动y位,低位补0
如:(十进制为10)0b1010 << 1=0b10100(十进制为20),可以看出,扩大了2倍。
10 << 1=100,可以看出,扩大了10倍,因为是十进制数。
右移运算:表达式x >> 整数表达式y,作用是将x的二进制值,按位向右移动y位
注意:多少进制的数,左移1位,就扩大多少倍;多少进制的数,右移1位,就缩小多少倍。
6.按位取放:~表达式,将二进制数据相应取反
7.成员运算符:in & not in ,in用于序列,字典,集合中,用于判断某个值是否存在于对象中
如:a=[1,2,3,4,8,16], 4 in a, True
各个优先级由高到低,如下图所示:
8.条件运算符
格式:表达式1 if 真值表达式 else 表达式2
作用:如果真值表达式的布尔环境值为True,表达式1执行并返回对象,否则表达式2执行并返回对象。
三、基本输入输出
1.基本输入函数input
格式:input('提示字符串'),输出为'98'字符串,若要转成整数,则a=int(input('提示字符串'))
a=input('score=')
print(a)
score=98(这里是手动输入)
98
Process finished with exit code 0
2.基本输出函数print
格式:print(value,...,sep=' ',end='\n',file=sys.stdout,flush=False)