python 方法_init_()

class Dog():
    """"一次模拟小狗的简单尝试"""

    def _init_(self,name,age):
        """初始化属性name和age"""
        self.name=name
        self.age=age

    def sit(self):
        """模拟小狗被命令时蹲下"""
        print(self.name.title()+"is now sitting.")

    def roll_over(self):
        """模拟小狗被命令时打滚"""
        print(self.name.title()+"rolled over!")

(1)在python 中首字母大写的名称指的是类。类定义的括号是空的、

(2)类中的函数成为方法,_init_()是一个特殊的方法,当创建实例的时候,python会自动对其进行调用(个人觉得类似Java的构造方法)。

在方法名称的开头和结尾有两个下划线,这是一种约定,旨在避免Python默认方法与普通方法发生名称冲突

(3)_init_()定义了三个形参,self,age和name。在这个方法定义中,self是必不可少的,还要位于其他形参的前面。

之所以定义self,是因为在调用该方法进行实例创建的时候,将自动传入实参self,每个与类相关的方法调用都自动传递实参self,他是一个指向实例本身的引用,让 实例能够访问类中的属性和方法。

(4)创建dog实例时,python将调用dog类的方法_init_().将通过实参向Dog()传递名字和年龄;self会自动传递。每当我们根据dog创建实例时,都只需给最后两个形参(name和age)提供值。

(python编程从入门到实践)

猜你喜欢

转载自blog.csdn.net/myhome908/article/details/82877938