栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

Python训练营 Task3 Python基础进阶:从函数到高级魔法方法(3天)(2021-11-29)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Python训练营 Task3 Python基础进阶:从函数到高级魔法方法(3天)(2021-11-29)

函数部分:

注意可以传的组合参数

  • 位置参数、默认参数、可变参数和关
  • 位置参数、默认参数、命名关键字参数和关键字参数。

Python的魔法函数部分:

__init__(self[, param1, param2...])的魔法方法,该方法在类实例化时会自动调用。

私有方法为__方法名

继承:类名(父类名)

多重继承:类名(父类名1,父类名2,父类名3)

此时如果父类中有相同的方法,则使用最前面的父类1的方法

类属性一旦修改,相关实例属性会有修改,实例属性修改不会影响类属性

#创建类对象
class Test(object):
    class_attr = 100 #类属性

    def __init__(self):
        self.sl_attr = 100 #实例属性

    def func(self):
        print('类对象.类属性的值:',Test.class_attr) #调用类属性
        print('self.类属性的值:',self.class_attr)#相对于把类属性变成实例属性
        print('self.实例属性的值:',self.sl_attr)#调用属性

a = Test()
#a.func()
#类对象.类属性的值: 100
#self.类属性的值: 100
#self.实例属性的值: 100

b = Test()
#b.func()
#类对象.类属性的值: 100
#self.类属性的值: 100
#self.实例属性的值: 100

a.class_attr = 200
a.sl_attr = 200
#a.func()
#类对象.类属性的值: 100
#self.类属性的值: 200
#self.实例属性的值: 200

#b.func()
#类对象.类属性的值: 100
#self.类属性的值: 100
#self.实例属性的值: 100

Test.class_attr = 300
#a.func()
#类对象.类属性的值: 300
#self.类属性的值: 200
#self.实例属性的值: 200

#b.func()
#类对象.类属性的值: 300
#self.类属性的值: 300
#self.实例属性的值: 100

__new__方法如果被定义,会在__init__方法之前执行

反运算符这里没太明白为什么是这个结果

定制序列:类似于其他语言的借口

如果说你希望定制的容器是不可变的话,你只需要定义__len__()和__getitem__()方法。

如果你希望定制的容器是可变的话,除了__len__()和__getitem__()方法,你还需要定义__setitem__()和__delitem__()两个方法。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/648731.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号