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编程从入门到实践)