day1
增强的格式化字符串函数 format
a=1
b=2
c=3
result="A={},B={},C={}".format(a,b,c)
print(result)
print('%s: %s'%(threadNmae,time.ctime(time.time())))
语法糖 (交换a,b的值)
a=1
b=2
a,b=b,a
print(a,b)
round(10.1272,2) 确定小数保留位数(四舍五入)
字符串切片
[start:end:step]
print(line[::-1])(倒转字符串)
.index (找不到就报错)
.find (找不到返回-1)
列表里面可以装任何对象
列表是可变类型的(字符串是不可变的)
列表拥有几乎字符串的所有操作
字符串列表统称为序列
列表是容器型的序列,字符串是一种扁平型的序列。
tuple不可变类型的列表
a=tuple()
a=()
字典 dict
拉锁函数 zip
a=[1,2,3,]
b=["a","b","c"]
c=list(zip(a,b))
print(c)
访问字典
c[1]取不到报错
c.get(a)取不到返回None
.setdefault
键存在在字典中则不会设置为指定值
键不存在,指定一个值
键不存在,不指定值,默认为None
所有类型都可以作为bool类型条件判断(判断有无,数字0为false)
断言
assert a==1 ,'a竟然不等于1'
循环构件推导式:
new_nums=[num*10 for num in nums](列表推导)
new_nums={num:'a' for num in nums}(字典推导)
new_nums=(num*10 for num in nums)(元祖推导)
生成器
遍历字典的键和值:
for key,value in c.items():
print("键:{} 值{}".format(key,value))
def func(*args,**kargs):
*args表示任何多个无名参数,它是一个tuple;
** kwargs表示关键字参数,它是一个dict
装饰器:(语法糖,类似于java切片的概念)
一个函数可以有多个装饰器
def dbug(func):
# 定义装饰器方法 传入不定参
def wrapper(*args, **kwargs):
# do something
print("[DEBUG]: enter {}()".format(func.__name__))
# 实现被装饰方法
return func(*args, **kwargs)
return wrapper