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)

函数只有调用才执行,在哪里调用在哪里执行

posted @ 2017-08-15 19:19  lijiex  阅读(34)  评论(0)    收藏  举报