1. 内置函数
1> len:统计元素长度
str1 = 'wonderful'print(len(str1))
result:9li= [1,2,3]
print(len(li))
result:3info= {'name':'zxj','age':23}
print(len(info))
result:2
2> in:判断某元素是否在某种类型内,与之相反为 not in。均返回布尔值。
a='westlife'print('e' ina)
result:
True
a='westlife'print('d' ina)
result:
False
a='westlife'print('d' not ina)
result:
True
a='westlife'print('e' ina)
result:
False
2. 基本运算符
运算符
描述
实例
+
两个对象相加,对象可以是数字、列表、字符串等
a=20,b=10,a+b输出结果为30
-
一个数减去另外一个数
a-b输出结果为10
*
乘,数与数、字符串与数可以相乘
a*b输出结果为200
/
除
a/b输出结果为2
%
取余(模)
a%b输出结果为0
**
高阶幂
2**3输出结果为8
//
取整除,取商的整数
9//2输出结果为4
+支持数字、字符串、列表等对象相加:
l1 = [1,2,3]
l2= [1,2,4]
print(l1+l2)
result:
[1,2.3,1,2,4]
不同类型之间的转换,如将列表转换为集合、元组:
l1 = [1,2,3]
l2= set(l1)
l3=tuple(l1)
print(type(l1))
print(type(l2))
print(type(l3))
result:
3. 比较运算符
运算符
描述
实例
= =
等于,比较对象是否相等
a==b返回False
!=
不等于,比较两个对象是否不相等
a!=b返回True
< >
不等于,比较两个对象是否不相等
类似!=
>
大于
a>b返回True
<
小于
a
>=
大于等于
a>=b返回True
<=
小于等于
a<=b返回False
4. 赋值运算符
运算符
描述
实例
=
赋值运算符
c=a+b,将a+b的结果赋值给c
+=
加法赋值运算符
c+=a等效于c=c+a
-=
减法赋值运算符
c-=a等效于c=c-a
*=
乘法赋值运算符
c*=a等效于c=c*a
/=
除法赋值运算符
c/=a等效于c=c/a
%=
取余赋值运算符
c%=a等效于c=c%a
**=
幂赋值运算符
c**=a等效于c=c**a
//=
取整除赋值运算符
c//=a等效于c=c//a
5. 身份运算符
is:is与比较运算符==不同的是,is比较的是id是否相等,即比较内存地址是否一致,= =仅比较两个值是否相等。
a=10b=10.0print(a==b)
print(aisb)
result:
True
False
一个内存地址可以对应多个变量,一个变量只能对应一个内存。
6. 逻辑运算符
运算符
描述
实例
and
布尔“与”,前后为真才为真
a为真,b为真,a and b 为真;
a为真,b为假,a and
b为假。
or
布尔“或”,前后为假才为假
a为假,b为假, a or b为假;
a为真,b为假,a or b 为真。
not
布尔“非”,非真为假,非假为真
a为真,not a为假;
b为假,not b 为真。
7. 流程控制
Python语法以缩进来分层,缩进4个空格(Tab)表示内一层。
7.1 if语句
格式:
if 条件语句:
执行的代码1
elif 执行的代码2:
else:
执行的代码块3
None、0、空(‘’),则条件为假,其余条件为真。if后条件为真则执行代码1,条件为假则执行else后的代码3。注意:空格不为空。
if 2:
print('真')else:
print('假')
result:
真
if条件支持or、and、not等逻辑书写。
7.2 while循环
格式:
while 条件:
循环体
条件为真则循环体执行,执行完后重新判断条件。
条件为假则循环体不执行。
break:跳出循环;
continue:跳出本次循环后继续执行循环;
pass:占位。占据当前位置,当不确定循环体如何设计时可以先用pass占位,保证语法格式。
#打印10以内的偶数
#方法一:
i= 0
while i< 11:
print(i)
i+=2#方法二:
i= 0
while i < 11:if i % 2 == 0:
print(i)
i+=1result:0
2
4
6
8
10count= 0
while count <=5:
count+=1
if count ==3:continueprint("loop", count)
result:
loop1loop2loop4loop5loop6count= 0
while count <=5:
count+=1
if count ==3:breakprint("loop", count)
result:
loop1loop2count= 0
while count <=5:
count+=1
if count ==3:
pass
print("loop", count)
result:
loop1loop2loop3loop4loop5loop6
while……..else……..:循环体执行完成后执行else后面的语句。
练习:写一个猜拳小游戏
import random #调用random模块,生成随机数
win= 0lose= 0ping= 0
whileTrue:
print('=====欢迎来猜拳=====')
print('胜:{} 败:{} 平:{}'.format(win, lose, ping))
print('1.石头 2.剪刀 3.布 4.退出')
computer= random.choice(['石头','剪刀','布'])
hum= input('==>:')
#赢if (hum == '1' and computer == '剪刀') or (hum == '2' and computer =='布') or (hum == '3' and computer == '石头'):
print('挺牛逼!')
win+= 1#输
elif hum== '3' and computer == '剪刀' or hum == '1' and computer =='布' or hum == '2' and computer == '石头':
print('菜鸡!')
lose+= 1#平
elif hum== '2' and computer == '剪刀' or hum == '3' and computer =='布' or hum == '1' and computer == '石头':
print('不要走,决战到天亮')
ping+= 1elif hum== '4':break
else:
print('别瞎输入!!')
print() #打印空行
result:=====欢迎来猜拳=====胜:0 败:0 平:0
1.石头 2.剪刀 3.布 4.退出==>:1菜鸡!=====欢迎来猜拳=====胜:0 败:1 平:0
1.石头 2.剪刀 3.布 4.退出==>:2不要走,决战到天亮=====欢迎来猜拳=====胜:0 败:1 平:1
1.石头 2.剪刀 3.布 4.退出==>:2不要走,决战到天亮=====欢迎来猜拳=====胜:0 败:1 平:2
1.石头 2.剪刀 3.布 4.退出==>:3菜鸡!=====欢迎来猜拳=====胜:0 败:2 平:2
1.石头 2.剪刀 3.布 4.退出==>:4
Python可以通过命令pyinstaller将语句导出为.exe程序,pyinstaller可以在pycharm的终端通过pip安装。
在终端使用pyinstaller -F 导出为exe程序。导出文件必须在虚拟环境下。
(yunwei) E:Learningpython>pyinstaller -F game.py171 INFO: PyInstaller: 3.4
172 INFO: Python: 3.6.8…….29666INFO: Appending archive to EXE E:Learningpythondistgame.exe29680 INFO: Building EXE from EXE-00.toc completed successfully.
找到该文件,双击运行
7.3 for循环
格式:
for 变量 in range(start,end,step):
循环体
range(start,end,step)顾头不顾尾,即范围能取到start,取不到end,只能取到end的前一位。数字范围默认start为0,可以省略;step为步长,在start~end的范围间隔step取值。
for循环将可迭代对象变成了迭代器类型,因此可以遍历字符串、列表、元组、字典等。
#打印1到5
or iin range(6):
print(i)
result:0
1
2
3
4
5#打印10以内的偶数for i in range(0,11,2):
print(i)
result:1
2
4
6
8
10#遍历列表
l1= [1,2,3,4]for i inl1:
print(i)
result:1
2
3
4#遍历元组
l1= (1,2,3,4)for i inl1:
print(i)
result:1
2
3
4#遍历字符串
l1= 'zxj'
for i inl1:
print(i)
result:
z
x
j
#遍历字典,默认循环的key值
l1= {'name':'言念君子','chara':'温润如玉'}for i inl1:
print (i)
result:
name
chara
#循环value:
l1= {'name':'言念君子','chara':'温润如玉'}for i inl1.values():
print (i)
result:
言念君子
温润如玉
#循环key、value键值对
l1= {'name':'言念君子','chara':'温润如玉'}for i inl1.items():
print (i)
result:
('name', '言念君子')
('chara', '温润如玉')
#分别循环key、value
l1= {'name':'言念君子','chara':'温润如玉'}for i,k inl1.items():
print (i,k)
result:
name 言念君子
chara 温润如玉