天池python task3打卡

1,函数
a,函数的定义: def 函数名(参数[,参数,参数......]):,函数以return 结束,如无则返回None
b,函数的调用:函数名(输入值)
c,函数文档:在函数表达式中用  ”“  抱住的为函数文档,可通过 函数名.__doc__打印
d,函数的参数:位置参数 参数名,为调用时传入的指定命名参数
          默认参数 参数名=默认值,无需调用时输入,函数自带
                       可变参数 *参数名,该参数可一次传入多个未命名值,并将它们组装成一个元组,例如:1,2,3,4。返回(1,2,3,4)
                       关键字参数 *kw参数名,可传入多个未指定命名参数,并将它们组装成一个字典,例如:a = 1,b = 2,返回{a : 1,b : 2}
         命名关键字参数 在参数前加入分隔符*,例如 函数名(参数,*,关键字参数名)
e,变量作用域:定义在函数内部的变量只在该函数内有效,成为局部变量
             global(变量名),将该变量转换为全局变量
f,内嵌函数:在函数1内定义的函数,只能在函数1内被调用,而不能在函数1外调用
g,闭包:闭包是一种特殊的内嵌函数。如果内嵌函数对外层非全局变量进行引用,那么该内嵌函数称为闭包。这个作用域被称为闭包作用域。
             如果要修改闭包作用域中的变量,需要使用 nonlocal.变量名 进行声明。
h,递归:如果在函数内部调用函数本身,那么这个函数就是一个递归函数。
i,lambda表达式:用于创建匿名函数。例如:lambda 函数参数:函数表达式
                            lambda创建的匿名函数不需要使用return进行返回,表达式的结果即为返回值

2,类与对象
a,对象:包括属性和方法,可用class创建,例子:
    class 类名:
        属性1
        属性2.....
        def 方法1:
            表达式
        def 方法2:
            表达式
b,继承:子类自动共享父类的数据与方法。
c,多态:不同对象对同一方法的不同响应,例子:
    class 父类:
        def 方法1:
            raise AttributeError 意为子类必须实现这个方法
    class 子类1(父类名):
        def 方法1(self):
            表达式1
    class 子类2(父类名):
        def 方法1(self):
            表达式2
    调用:子类名.方法1()即可实现相应表达式
d,self:相当于c++的this指针,不需要向其传入参数,类中的函数都需要在参数中加入self。

3,python的魔法方法
a,__init__(self,[参数]):该方法在实例化时会自动调用。
b,私有变量:在类变量前加__(两个下滑线),该变量无法从类外访问。
c,继承:子类将继承父类的数据与方法,若子类中出现命名相同但内容不同的数据或方法,父类将会被覆盖。
             多重继承:class 子类(父类1,父类2):
d,getattr(对象(类),名字,默认值):用于返回类中指定名字的变量或方法。
f.delatter(对象(类),名字):用于删除类中的指定名字变量
g,__new__(cls,变量名)方法:在__init__()前执行
h,__del__(self)方法:当对象被回收时执行.
i,__str__(self)方法:当打印一个对象时,用%s格式化时,用str()转换数据类型时执行
  __repr__(self)对象:%r格式化时执行
j,算数运算符:__add__(self):定义对象的”+“,同理还有sub"-",mul"*",truediv"/",floordiv"//",mod"%",lshift"<<",rshift">>"。
  反算数运算符:在算数运算符前加"r",如__radd__,当对象的数据不支持相对应的算数运算符时调用。
  增量算数运算符:在算数运算符前加"i",如__iadd__,在对象进行"+="时执行,其他同理。
k,一元运算符:__neg__在将对象取为正数时执行,同理,pos:将对象取为负号,abs:将对象取绝对值,即使用abs(),处理对象时,invert:将对象取反时
l,属性访问:__getatter__访问一个不存在的属性,同理,getattribute:该类的属性被访问时(不论存不存在),setattr:当一个属性被设置时(不论存不存在),delattr:当一个属性被删除时。
m,定制序列:__len__:当len()调用时执行,同理,getitem:获取容器内元素时执行,setitem:设置容器内容时执行,delitem:删除容器内容时执行。
n,迭代器:__iter__,用于实现__next__,__next__返回下一个迭代对象,用StopTteration结束__next__
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值