Python 类 方法,python的语法的基本的总结,Python类方法总结讲解

Python 类 方法,python的语法的基本的总结,Python类方法总结讲解

本文主要介绍类Python方法的总结和解释。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容。有需要的朋友可以参考一下。

一、类方法

类中的函数称为类方法。它与普通的函数定义略有不同。

1.普通方法

1.1 普通方法定义

common method的定义与common function略有不同,第一个参数是self,指的是实例对象本身。下图定义了

班级人员:

def __init__(自己,姓名,年龄):

# name=对象名称,age=对象的年龄

self.name=name

年龄=年龄

1.2 普通方法调用

假设函数调用是函数名()。类的方法调用呢?

类调用必须依赖于对象。调用方法:对象。方法名称()。

不能直接使用类名和方法名()。前面说过,类中方法的第一个参数是self,代表实例对象本身,所以类不能直接调用普通方法。

#实例化对象cat

猫=动物()

#调用类中运行的普通方法

cat.run()

如果类名。使用了方法名称,将出现:typeerror: run()缺少1个必需的位置参数:“self”,并且缺少一个参数。

但事实上,当我们重复使用该对象时。方法名(),我们不带self,但是不报缺一个参数。

原因:当我们实例化对象的时候,也就是执行cat=Animal()的时候,我们已经把猫的地址传递给了self,这里self指的是猫。

2.魔术方法

2.1 魔术方法定义

在普通方法前面,需要调用对象名和方法名(),而我们的魔方法比较特殊,在特殊时刻自动触发,也就是不需要调用。

2.2常见魔术方法

__init__(self,[参数名])

创建对象时自动调用的方法。

__str__(self,[参数名])

该函数有一个返回值,并在打印对象名称时自动调用。

__del__(self)

删除引用时自动调用。

__call__(elf,[参数名])

当对象名()被执行时,它被自动调用,即对象被用作函数。

如图,我们只是创建了cat对象,没有调用__init__方法,而是执行了方法中的方法体,因为python在创建对象时自动触发了它。

__init__方法的作用是什么:

定义一个类时,常常要定义属性和方法,属性是类的一个特征,而方法是它能做的事情。

每个人都有名字和年龄,所以我们需要用两个属性定义一个Person类:名字和年龄。

如果你在课堂上写下下图

class Person():

名字='吉米'

年龄=12岁

定义运行(自身):

打印(“运行”)

人员1=人员()

人员2=人员()

所以Person1和Person2对象都有person的属性,但此刻都有相同的属性,却不符合每个人的特征?每个人的名字和年龄都不一样。如何才能创建对象的不同属性值?这里,我们使用__init__

班级人员:

def __init__(自己,姓名,年龄):

# name=对象名称,age=对象的年龄

self.name=name

年龄=年龄

人员1=人员('美美',12)

#打印person1的属性meimei 12。

打印(人员1 .姓名,人员1 .年龄)

person2=Person('john ',13)

# #打印人员1的属性john 13

打印(人员2 .姓名,人员2 .年龄)

__str__用于在打印对象时返回值,因此__str__有一个return语句。如果不打印带有__str__的对象,则该对象是地址。

班级人员:

def __init__(自己,姓名,年龄):

# name=对象名称,age=对象的年龄

self.name=name

年龄=年龄

# def __str__(self):

# return '这是姓名:{},这是年龄:{} '。格式(自我。名字,自我。年龄)

Person1=Person('meimei ',12) # Print result _ _ main _ _。0x000025c1f932c50处的个人对象

打印(人员1)

3.类方法

3.1 类方法定义

班级人员:

def __init__(自己,姓名,年龄):

# name=对象名称,age=对象的年龄

self.name=name

年龄=年龄

# def __str__(self,*krg,**krgs):

# return '这是姓名:{},这是年龄:{} '。格式(自我。名字,自我。年龄)

#类方法

@classmethod

定义测试1(cls):

打印(“我是类方法”)

该方法之前用decorator @classmethod进行了修饰。第一个参数是cls代表类。

类特性:普通方法不能在类方法中调用。

3.2 类方法调用

对象名称。方法名称()

类名。方法名称()

4.静态方法

4.1 静态方法定义

班级人员:

def __init__(自己,姓名,年龄):

# name=对象名称,age=对象的年龄

self.name=name

年龄=年龄

# def __str__(self):

# return '这是姓名:{},这是年龄:{} '。格式(自我。名字,自我。年龄)

定义运行(自身):

Person.test1()

Person.test()

打印(“我在跑”)

@classmethod

定义测试1(cls):

打印(“我是类方法”)

@静态方法

定义测试(*krgs):

Person.test1()

打印(“我是一个静态方法”)

静态方法用decorator @staticmethod修饰,没有CLS和self参数。

4.2 静态方法调用

对象名称。静态方法名()

类名。静态方法名()

二 总结

普通方法中:

你可以调用普通的方法,使用self。方法名称()

您可以使用类名调用静态方法。方法名称()

可以使用类名调用类方法。类名。方法名称()

静态方法:

不能调用普通方法。

可调用的类方法,类名。方法名称()

可调用静态方法,类名。方法名称()

类方法:

不能调用普通方法。

可调用的类方法,类名。方法名称()

可调用静态方法,类名。方法名称()

这就是本文对类Python方法的总结和解释。有关类似Python方法的更多总结内容,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: