参考书籍: Python参考手册
格式化输出
%3d 输出整数部分,占3位,右对齐;%0.2f 小数部分保留2位
print('%3d %0.2f' % (1, 5.567))
1 5.57
format
print('{0:3d} {1:0.2f}'.format(1, 5.567))
1 5.57
if else
一个 if else
if 2 > 1:
print('yes')
else:
print('no')
多个条件判断 elif
a = 'red'
if a == 'red':
print('OK')
elif a == 'orange':
print('Warn')
else a == 'black':
print('NO')
字符串
单引号或双引号用来创建单行字符串,三引号用来创建多行字符串
a = 'wang'
b = "wang"
c = """
wang
wang
"""
# wang wang
# wang
# wang
字符串可用下标访问;可用[i:j]类似的切片函数访问下标范围的字符串
a = "Hello World"
a[6] # W
a[6:] # World
a[0:5] # Hello
转换字符串 str(), repr(), format()
str() 生成让人看的字符串
repr() 生成让机器看的字符串,
format() 把数字生成格式化的字符串
列表(list)
创建列表
l = []
l = list()
l = [1, 2, 3, 4, 5]
追加列表
l.append(1)
插入列表
l.insert(10, 2) # 当插入的位置超过 list 长度时等同于 append
# 为负数时按倒数第几个算
l.insert(-1, 4) # 倒数第一个的前面插入
切片运算符
l[0:2] # 1, 2; 从 0 位置开始,在 1 位置结束
l[2:] # 3, 4, 5; 从 2 位置开始,在末尾结束
l[0:2] = [6, 7] # 6, 7, 3, 4, 5
+运算符
l = [1, 2, 3] + [4 ,5] # [1, 2, 3 ,4, 5]
元组
元组和列表很相似,支持索引,切片,相加;它们的不同在于元组中的值不能被修改, 即不能被替换,删除或插入新的元素。由于元组不能被更改,导致了他的内存占用比列 表要少,所以在小于 12 个值的情况下尽量使用元组
t = 1, 2 # (1, 2)
t[0] = 1
t1 = 1, # 创建单个元组
集合
集合是无序的, 和数学中集合的概念相同。
s = set([1, 2, 3]) # 创建集合的参数必须是可遍历的,这里是数组
ss = set([3, 4, 5]) # {3, 4, 5}
s | ss # 并集 {1, 2, 3 ,4, 5}
s & ss # 交集 {3}
s - ss # {1, 2}; 差集 在 s 中但不在 ss 中
ss - s # {4, 5}; 差集 在 ss 中但不在 s 中
s ^ ss # {1, 2, 4, 5} 差集之和
s.add(4) # 添加一个元素
s.update([4, 5]) # 添加多个元素
s.remove(4) # 删除一个元素
字典
字典由键和值组成,键可以是字符串,数值和元组;不可以是列表或字典之类的对象, 因为它们是可变的;
country = {
"east": {'China', 'Janpan'},
"west": {'Amarica', 'Britain'}
}
# 判断键值是否存在
'east' in country # True
# 获取键值及默认值
country.get('europe', {'China'})
# 把键值转换成列表
list(country) # ['east', 'west']
# 删除键值
del country['east'] # {"west": {'Amarica', 'Britain'}}
循环
循环一连串数字
print('rang(3): ')
for n in range(3):
print(format(n, '3d'))
print('range(1, 3)')
for n in range(1, 3):
print(format(n, '3d'))
print('range(1, 5, 2)')
for n in range(1, 5, 2):
print(format(n, '3d'))
循环数据类型
print('cycle 字符串')
s = 'Hello, World'
for n in s:
print(n)
print('cycle 列表')
l = [1, 2, 3, 4, 5]
for n in l:
print(n)
print('cycle 字典')
d = {'Xi\'An': 100, 'HanZhong': 101}
for k in d:
print(k, d[k])
函数
定义一个函数
def f(host, port = 80):
pass
调用函数 port 是默认值
f(g.cn)
也可使用变量名赋值调用,这时可以改变参数的位置
f(port=8080, host=g.cn)
### 生成器
在函数中,使用 yield 生成一个可迭代的序列;
# 生成器
def countdown(n):
print('countdown')
while n > 0:
yield n
n -= 1
def cycle_countdown():
for n in countdown(5):
print(n)