方法明

更新时间:2023-03-26 07:38:19 阅读: 评论:0

锻炼身体的好处-用毛线做手工

方法明
2023年3月26日发(作者:狐假虎威续写)

Python类⽅法总结讲解

⼀、类⽅法

在类中的函数称为类⽅法。与普通函数定义稍有区别。

1.普通⽅法

1.1普通⽅法定义

普通⽅法与⼀般函数的定义稍有区别的点羊奶的功效 在于第⼀个参数是lf,,指代的意思是指向实例对象本⾝。如下图定义

classPerson:

def__init__(lf,name,age):

#name=对象的那个name,age=对象的那个age

=name

=age

1.2普通⽅法调⽤

思考⼀下函数的调⽤是函数名(),类的⽅法调⽤呢?

类⽅法调⽤必须要借助对象。调⽤⽅式:对象.⽅法名()。

不能直接⽤类名.⽅法名(),前⾯已经说过了类中的⽅法第⼀个参数是lf,代表的是实例对象本⾝,所以类是不能直接调⽤普通

⽅法的

#实例化对象cat

c婚姻法离婚规定 at=Animals()

#调⽤类中普通⽅法run

()

如果使⽤类名.⽅法名的时候会出现:TypeError:run()missing1requiredpositionalargument:'lf',遗失⼀个参

数。

但实际上我们再使⽤对象.⽅法名()的时候也没有带lf,却没有报遗失⼀个参数。

原因:当我们实例化对象的时候,即cat=Animal()执⾏的时候已经将cat的地址传给lf,此时lf指代的是cat.

2.魔术⽅法

2.1魔术⽅法定义

前⾯普通⽅法是需要对象名.⽅法名()去调⽤,⽽我们的魔术⽅法⽐较特殊,他是在特殊时刻⾃动触发,即不需要调⽤。

2.2常见魔术⽅法

__init__(lf,[参数名])对象创建时⾃动调⽤的⽅法

__str__(lf,[参数名])函数有返回值,当打印对象名的时候⾃动调⽤

__del__(lf)当删除引⽤时⾃动调⽤

__call__(elf,[桶装水广告 参数名])当执⾏对象名()时⾃动调⽤即把对象当成函数使⽤

看上图我们只是创建了cat对象,并没有调⽤__init__⽅法,但是却执⾏了⽅法⾥⾯的⽅法体,是因为在创建对象时python⾃动

触发了。

__init__⽅法有什么作⽤:

定义⼀个类时,常常要定义属性和⽅法,属性是类的⼀个特征,⽽⽅法是它能做的事情。

所有的⼈都有名字和年龄,所以我们要定义⼀个Person类,拥有两个属性名字和年龄

如果在类⾥写如下图

classPerson():

name='jimi'

age=12

defrun(lf):

print('run')

person1=Person()

person2=Pers笔记本热点 on()

那么person1和person2对象拥有了Person的属性,但是此刻他俩的属性⼀样,可是并不符合每个⼈的特征啊?每个⼈的名字和

年龄不⼀致的。那怎么样才能创造出对象不⼀样的属性值,这⾥就⽤__init__

classPerson:

def__init__(lf,name,age):

#name=对象的那个name,age=对象的那个age

=name

=age

person1=Person('meimei',12)

#打印person1的屬性meimei12

print(,)

person2=Person('john',13)

##打印person1的屬性john13

print(,)

__str__是⽤來打印对象时返回⼀个值,所以__str__是有return语句的。如果不⽤__str__打印对象,对象就是⼀个地址

classPerson:

def__init__(lf,name,age):

#name=对象的那个name,age=对象的那个age

=name

=age

#def__团圆饼 str__(lf):

#return'这是name:{},这是age:{}'.format(,)

person1=Person('meimei',12)#打印结果<__main__.Personobjectat0x0000025C1F932C50>

print(person1)

3.类⽅法

3.1类⽅法定义

classPerson:

def__init__(lf,name,age):

#name=对象的那个name,age=对象的那个age

=name

=age

#def__str__(lf,*krg,**krg唐代楷书 s):

#return'这是name:{},这是age:{}'.format(,)

#类⽅法

@classmethod

deftest1(cls):

print('我是类⽅法')

⽅法前⽤装饰器@classmethod修饰。第⼀个参数为cls代表类

类⽅法特点:类⽅法⾥⾯不能调⽤普通⽅法

3.2类⽅法调⽤

1.对象名.⽅法名()

2.类名.⽅法名()

4.静态⽅法

4.1静态⽅法定义

classPerson:

def__init__(lf,name,age):

#name=对象的那个name,age=对象的那个age

=name

=age

#def__str__(lf):

#return'这是na儒学经典 me:{},这是age:{}'.format(,)

defrun(lf):

1()

()

print('我是run')

@classmethod

deftest1(cls):

print('我是类⽅法')

@staticmethod

deftest(*krgs):

1()

print('我是静态⽅法')

静态⽅法⽤装饰器@staticmethod修饰,⽆cls,lf参数

4.2静态⽅法调⽤

对象名.静态⽅法名()

类名.静态⽅法名()

⼆总结

普通⽅法中:

1.可调⽤普通⽅法,使⽤lf.⽅法名()

2.可调⽤静态⽅法,使⽤类名.⽅法名()

3.可调⽤类⽅法,使⽤类名.类名.⽅法名()

静态⽅法:

1.不可调⽤普通⽅法

2.可调⽤类⽅法,类名.⽅法名()

3.可调⽤南方红豆杉 静态⽅法,类名.⽅法名()

类⽅法:

1.不可调⽤普通⽅法

2.可调⽤类⽅法,类名.⽅法名()

3.可调⽤静态⽅法,类名.⽅法名()

到此这篇关于Python类⽅法总结讲解的⽂章就介绍到这了,更多相关Python类⽅法总结内容请搜索以前的⽂章或继续浏览下⾯的

相关⽂章希望⼤家以后多多⽀持!

本文发布于:2023-03-26 07:38:17,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1679787499391893.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:方法明.doc

本文 PDF 下载地址:方法明.pdf

上一篇:红色精灵
下一篇:返回列表
标签:方法明
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图