python与java一样属于面向对象的语言。如下所示定义了一个User类:
class User(object): def __init__(self, first_name, last_name, message): self.first_name = first_name self.last_name = last_name self.message = message def describe_user(self): print("user's name is : " + self.first_name + " "+ self.last_name + " your message is : " + self.message) def greet_user(self): print("hello! " + self.first_name + " " + self.last_name)
在上述定义中,
1.首先使用class关键字定义了一个名称为User的类,在类的定义中括号里面有个object关键字,这是因为在使用python2.7时需要使用object关键字相当于继承object对象,在python3中不需要加object关键字即可。
2.方法__init()__
该方法是初始化方法,当User类创建实例时,python会自动调用该方法,对属性(即方法__init__中的参数)进行初始化操作。参数self是必不可少的,但是在对类User进行实例化时只需要传3个参数即可;也可在该方法中指定属性的默认值,直接使用赋值语句即可
3.自定义方法
除了系统方法__init__外,还可以自定义方法,用来做自己想做的事情,如上自定了两个方法:describe_user()、greet_user()
一.创建实例
如下所示使用类名User来创建实例,并使用句点表示法来访问属性和方法。
user = User("lai", "danting", "love love") print user.last_name print user.first_name user.describe_user() user.greet_user()
创建了一个lai的实例并存储在变量user中,在使用User实例化的过程中就调用__init__方法对属性进行初始化;再使用句点表示获取last_name、first_name属性值;通过句点表示法调用方法describe_user()、greet_user()
使用属性赋值可直接修改属性的值,如:user.first_name = "tingting";直接将first_name的值由danting改为tingting