Python进阶之路 8.2.1 创建自己的类

版权声明:本教程只限学习交流,不得用于商业用途。 https://blog.csdn.net/weixin_45086637/article/details/90925486

8.2.1 创建自己的类

学习面向对象的第一步,就是创建一个类。因为类是面向对象的基石。Python类和其他编程语言的类差不多,也需要使用class关键字。下面通过一个实际的例子来看一下Python类是如何创建的。

[例 8.1] 本例会创建一个类,以及利用这个类创建两个对象,并调用其中的方法。

# 创建一个person类

class person:

    # 定义setName方法
    def setName(self,name):
        self.name = name

    # 定义getName方法
    def getName(self):
        return self.name

    # 定义greet方法
    def greet(self):
        print("Hello I'm {name}.".format(name = self.name))


# 创建person1对象
person1 = person()

# 创建person2对象
person2 = person()

# 调用person1对象的setName方法
person1.setName('Bill Gates')

# 调用person2对象的name属性
person2.name = 'Bill Clinton'

# 调用person1对象的getName方法
print(person1.getName())

# 调用person1对象的greet方法
person1.greet()

# 调用person2对象的属性
print(person2.name)

# 调用person2对象的greet方法(另一种调用方法的方式)
person.greet(person2)

输出结果:

Bill Gates
Hello I'm Bill Gates.
Bill Clinton
Hello I'm Bill Clinton.

从上面的代码可以了解到Python类的如下知识点:

▩ Python类使用class关键字定义,类名直接跟在class关键字的后面

▩ 类也是一个代码块,所以类名后面要跟着一个冒号(:)

▩ 类中的方法其实就是函数,定义的方法也完全一样,只是由于函数定义在类的内部,所以为了区分,将定义在类内部的函数称为方法

▩ 每一个方法的第1个参数都是self,这是必需的。这个参数名不一定叫self(可以叫abc或任何其他名字),但任意一个方法必须至少指定一个self参数,如果方法中包含多个参数,第1个参数将作为self参数使用。在调用方法时,这个参数的值不需要自己传递,系统会将方法所属的对象传入这个参数。在方法内部可以利用这个参数调用对象本身的资源,如属性、方法等。

▩ 通过self参数添加的name变量是person类的属性,可以在外部访问。本例设置了person2对象的name属性值,与调用person1.setName方法的效果完全相同。

▩ 使用类创建对象的方式与调用函数的方式相同。在Python语言中,不需要想Java一样使用new关键字创建对象,只需要用类名加上构造方法参数值即可。

▩ 调用对象的方法有两种方式,一种是直接通过对象变量调用方法,另一种是通过类调用方法,并且将相应的对象传入方法的第1个参数。在本例中使用了person.greet(person2)的方式调用了person2对象中的greet方法

如果使用集成开发环境,如pydev、pycharm,那么代码编辑器也会对面向对象有很好的支持,例如,当在对象变量后面输入一个(.)后,IDE会列出该对象中所有可以调用的资源,包括方法和属性。

猜你喜欢

转载自blog.csdn.net/weixin_45086637/article/details/90925486