20170815
n = 1
for i in range(4):
n = (n+1)<<1
print(n)
<<是左移,它后面跟的数字,就是移动的位数
2<<2,也就是把2往左移动2位
把2转换成2进制,就是0000 0010
左移两位就变成0000 1000,也就是10进制的8
类似地,3<<2可以这么算:
0000 0011--->0000 1100,也就是十进制的12
python 2<<2=8 ==> 2乘以2的2次方:1<<3 1乘以2的3次方
print(n,end = ' '),,end默认是'\n'' 所以默认换行。不换行的话则指定一个其它字符,比如空格
def fun(*args): 接受单个参数,作为元组,不能接受键值对
print(args)
不定长参数,会把传进去的参数转换为元组,作为参数 *args == 元组
**kwargs == 字典
def fun(**args): #接受关键字参数 比如a = 1 ,b = 2 等以键值对方式保存为字典
print(**args)
d = {'a':'b','b':12,'c':[1,3,5]}
调用函数是也可以用**把字典转化为单个的元素传进函数,且,转化后的元素必须和函数的必备参数名都相同,(。。。表达不清楚) fun(**d)
函数只有调用才执行,在哪里调用在哪里执行
浙公网安备 33010602011771号