Python的那些坑--------括号篇

在Python中遇见了带不带括号的问题,我目前的是这三种,有问题请指出.如果有其他的,我后续会更新

一 函数带不带括号:

def a(x):
      return x

print(a)    #不带括号调用的结果:<function a at 0x1091766a8>
print(a(3)) #带括号调用的结果:3

  

1.不带括号时,调用的是这个函数本身

2、带括号(此时必须传入需要的参数),调用的是函数的return结果

摘自: http://blog.csdn.net/foryouslgme/article/details/51483867

二. class实例化带不带括号:

1 class clseest():
2     y = '我 '
3     def __init__(self):
4         self.y = '你'
5 x = clseest
6 print(x.y)  #我
7 
8 x = clseest()  
9 print(x.y)#你

即:带括号的实例化方法是调用了__init__()函数, 此时必须传入需要的参数

摘自: http://bbs.csdn.net/topics/392156189

三 class新建的时候要不要加

class MyMsg:

是旧的书写方式

class MyMsg(object):

是新的书写方式,所以建议使用新的书写方式

Ps:即没有差别,不过要是有继承必须写():建议写()

摘自: https://zhidao.baidu.com/question/1755948734505258708.html

补充:可变参数:

http://blog.csdn.net/chenjinyu_tang/article/details/8136841

参考上面的网址

一句话解释:

*args :普通参数,可以认为是一个list

**kwargs 可以认为是一个字典,需要输入key和value