python(二):函数以及面向对象相关

一.函数

1.定义函数

    def functionName():

       代码

2.修改全局变量

    global number:修改全局变量number的值

3.函数返回值

    如果一个函数中有多个return,只要执行一个return,即结束当前函数,类似于break。当返回多个函数值时在return后面写下所有返回值,以逗号隔开,以元组显示,也可以直接赋值给列表和字典。

4.缺省参数

    在定义当中直接默认某一个参数,则可以不传入该参数。如deftest(a,b=”中国”),且缺省参数b必须放在后面,则调用的时候可以直接test(11),也可以test(12,”其他国家”),此时b便不取默认值,而是使用传入值。

5.不定长参数

    不确定参数长度时,def test(a,*b),*表示不定长,b通过元组显示。def test(a,*b,**c),c表示可以命名的其他参数,通过字典显示。

6.参数传递修改

    a+=a:在原数据上修改

    a=a+a:定义一个a,不在原来数据修改

7.递归函数

    一定要设置递归函数的结束条件

二.引用    

1.id(a):求变量a的地址

2.可变类型和不可变类型

    可变类型,值可以改变:列表list,字典dict

    不可变类型,值不可以改变:数值类型int,long,bool,float,字符串str,元组tuple。对于可变类型,改变值后id不变,对于不可变类型,改变值后id改变。引用就是一个贴标签的过程,对某一个id的值贴一个变量标签。

3.如果全局变量时可变类型,则可以在函数中直接进行改变,而不可变类型则不能直接在函数中修改,在修改时必须使用global。

三.面向对象

1.定义类

    class 类名:

       方法

2.初始化方法(函数)

    def __init__(self):

       self.xxx=xxx

3.打印类的内容

    def __str__(self):

       msg = xxx

       return xxx

4.删除:如果检测到一个对象没有任何用处了,就把这个对象删除,即不存在引用了

    def __del__(self):

       return

四.继承

1.继承结构

    class animal(object):#父类

       def __init__(self)

           slef.name=xxx

    class dog(animal):#子类

       def printname(self)

           print(“xxxxxx”)

注意:

(1)私有属性self.__xx不会被继承,公有属性self. xx会被继承

(2)如果是继承父类的方法,则可访问父类的私有属性,如果是子类自定义方法则不能访问父类的私有属性。

(3)私有属性只能在方法内被调用,即在方法前加”__”,即不能在外部的对象调用,可在类的内部定义方法调用。

(4)私有方法不继承

2.重写父类

    class animal(object):#父类

       def bark(self)

           print(“啊啊啊啊”)

    class cat(animal):#子类

       def bark(self)

           print(“喵喵喵”3.)

tomcat = cat()

tomcat.bark()

3.属性:在class里面,在方法外面的属性称为类属性,跟着类走;放在方法里面的属性,即实例里面的属性称为实例属性,跟着实例走。

4.类方法:在方法面前写上@classmethod,通过类才能修改类属性

    class animal():

       number = 0#类属性

        @classmethod#类方法,用于修改类属性

        def setNewNumber(cls)#注意此处是cls不是self

           cls.number +=1

五.异常

1.捕获异常

    try:#可能出现错误的代码

       print(‘开始’)

       open(‘123.tex’,’r’)

       print(‘结束’)

    except IOError:#此处的IOError为运行时报的错误,根据错误修改此处

       pass

2.不管有没有异常,一定执行的finally内的一部分程序

    try:

       f = file(‘123.tex’)

       while True:

       print(‘开始’)

    finally:

       f.close()

       print(‘关闭’)

3.解释异常程序使用

    try:#可能出现错误的代码

       print(‘可能出错的程序’)

    except IOError:

       print(‘产生错误了%s’% IOError)

    else:

       print(‘程序没有出错’)

finally:     

    print(‘不管有木有错反正我都要执行’)


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值