1 print
使用sep参数为指定显示连接
print('hello','ok',sep=',')
2 导入重命名
import 库 as 别名
from 库 import 函数,函数,...
例
#导入库的重命名
# import random as suiji
# x=suiji.randint(3,4)
# print(x)
from random import randint as wc
x=wc(3,8)
print(x)
3 赋值
3.1 序列解包
一个序列(或任何可迭代对象)解包,并将得到的值存储到一系列变量中。
x, y, z = 1, 2, 3
#交互变量值
x, y = y, x
例如
values=1,3,5
x,y,z=values
print(z)
输出
5
val={'xname':'hero','xage':8}
x,y=val.popitem();
print(x,y)
输出
xage 8
使用*收集多余的值
val=[1,2,3,4]
x,*y=val
print(y)
结果
[2,3,4]
3.2 链式赋值
x=y=3
3.3 增强赋值
+=, ......
4 条件语句
4.1 if语句
语法:
if 条件:
语句
注意:
python中通过语句的缩进,匹配对应if语句
4.2 else子句
else表示if的相反情况,不能独立使用
语法
if 条件:
if语句
else:
else语句
4.3 elif语句
多重if,语法....
4.4 if结构的嵌套
4.5 条件
除了传统的6个比较运算符外,python支持如下运算符:
x is y x和y是同一个对象
x is not y x和y是不同的对象
x in y x是容器(如序列) y的成员
x not in y x不是容器(如序列) y的成员
运算符 | 逻辑表达式 | 描述 | 实例 |
---|---|---|---|
and | x and y | 布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。 | (a and b) 返回 20。 |
or | x or y | 布尔"或" - 如果 x 是 True,它返回 True,否则它返回 y 的计算值。 | (a or b) 返回 10。 |
not | not x | 布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。 | not(a and b) 返回 False |
注意:
x=3
if 5<x<10:
print("ok")
print(x)
练习:石头剪刀布
import random
player = input('请输入:剪刀(0) 石头(1) 布(2):')
player = int(player)
computer = random.randint(0,2)
# 用来进行测试
#print('player=%d,computer=%d',(player,computer))
if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('获胜,哈哈,你太厉害了')
elif player == computer:
print('平局,要不再来一局')
else:
print('输了,接着来,决战到天亮')
4.6 断言
assert语法的出现时当某条件不成立时,使程序不能继续执行
age=20
assert 18<age<36
print('ok...')
5 循环
5.1 while循环
x = 1
while x <= 100:
print(x)
x += 1
例 直到输入name不为空,程序继续
name = ''
while not name:
name = input('Please enter your name: ')
print('Hello, {}!'.format(name))
5.2 for循环
words = ['this', 'is', 'an', 'ex', 'parrot']
for word in words:
print(word)
打印数1~100:
for number in range(1,101):
print(number)
5.3 迭代字典
d = {'x': 1, 'y': 2, 'z': 3}
for key in d:
print(key, '-----', d[key])
或
for key, value in d.items():
print(key, 'corresponds to', value)
通过索引迭代
ages = [12, 45, 32, 102]
for i in range(len(ages)):
print(ages[i])
使用zip函数合并序列
names = ['anne', 'beth', 'george', 'damon']
ages = [12, 45, 32, 102]
li=list(zip(names, ages))
print(li)
结果
[('anne', 12), ('beth', 45), ('george', 32), ('damon', 102)]
在循环中将元组解包。
for name, age in zip(names, ages):
print(name, 'is', age, 'years old')
使用enumeric拆分序列
mstr='abc'
for ind,s in enumerate(mstr):
print(ind,s)
6 break和continue
7 python中的推导
列表推导是一种从其他列表创建列表的方式,类似于数学中的集合推导。
例
x=[y*y for y in range(3,7)]
print(x)
例 计算10以内的能把3整除的平方
x=[y*y for y in range(10) if y%3==0]
print(x)
例 在列表中使用多个for
x=[(x,y) for x in range(1,3) for y in range(6,10)]
print(x)
8 三个小操作
8.1 pass 占位语句
8.2 exec将字符串解析执行和eval直接计算表达式
8.3 del删除对象,垃圾回收