python3 类函数_python学习(3):函数和类。

关键知识:函数注释与help内嵌函数,关键字参数,收集参数,反转参数。 一、python的函数 >>> def square(x): 'cal the square of the number' return x*x >>> square.__doc__ 'cal the square of the number' >>> help(square) Help on function square in module __main__: square(x)     cal the square of the number >>>  C语言的函数形参都是位置参数,即位置很重要。 python有关键字参数,就是说函数形参的名称很重要,是传值的依据。 参数可以带默认值,可以传全部或部分参数。 收集参数(一个*是收集位置参数,**是收集关键字参数) >>> def pp(*var): print var >>> pp('test') ('test',) >>> pp(1,2,3) (1, 2, 3) //返回元组(tuple) or list(列表) >>> pp() () >>>  >>> def pp(*var): print (var) >>> pp('test') ('test',) >>> pp(1,2,3) (1, 2, 3) >>> pp() () >>> def pp2(**var): print (var) >>> pp2(x=1,y=2,z=3) {'x': 1, 'y': 2, 'z': 3} //返回字典dict。 这就是说,函数通过收集参数转化为list和字典dict。 >>> pp2(x=1,y=2,z=3) {'x': 1, 'y': 2, 'z': 3} 反转操作:直接向函数传list参数进去: >>> def add(x,y): return x+y >>> param=(1,2) >>> add(*param) 3 >>>  直接向函数传dict参数进去: >>> def hello_3(greeting='hello',name='world'): print ('%s,%s' % (greeting,name)) >>> hello_3() hello,world >>> hello_3(name='Tan') hello,Tan >>> param={'name':'Tan','greeting':'Well met'} >>> hello_3(**param) Well met,Tan >>>   面向对象(object)的学习,作为一门高级的强大的语言, python必须是支持面向对象编程。 多态,就是同样的一个方法,表现为多种形态: 1、比如多个不同对象,如多种商品,但都支持getPrice()方法。 2、同样是+号,可以支持1+2,也可以支持"hello"+"world" self指针,指向对象本身,有点象C++ 的this指针。 为了让方法或特性变为私有(private),只要在它的前面加上双下划线就可以__。 class Secre: def __inacessible(self): print("Bet you can not see me!")     def __init__(self,name):         self.name=name         name1=name #name1只属于_init_方法,其它类方法不能使用! 所以,self的作用就是申请一个pulic属性。 >>> class Cal: def cal(self,exp): self.value=eval(exp) >>> class Talker: def talk(self): print ('hi my value is',self.value) >>> class TalkCal(Cal,Talker): //继承两个类的方法。python感觉比C++的类要简洁许多! pass >>> tc = TalkCal() >>> tc.cal('1+2*3') >>> tc.talk() hi my value is 7 >>>  异常: >>> try: 1/0 except NameError: print('unknown') else: print('That went well!') finally: print('clean up.') clean up. Traceback (most recent call last):   File "", line 2, in     1/0 ZeroDivisionError: division by zero >>>  魔法方法,属性和迭代器。 构造函数:__init__(),这个是固定的名字。

你可能感兴趣的:(python3,类函数)