面向对象编程时最有效的软件编写方法之一,基于类来创建对象时,每个对象都自动具备这种通用的行为,然后根据需要在对每个对象赋予独特的个性
根据类来创建对象被称为实例化,这样能够使用类的实例。
1.创建类,
类名应采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线。实例名和模块名都采用小写格式,并在单词之间加上下划线
class User():
def __init__(self,first_name,last_name):#形参self 必不可少,还必须位于其他形参的前面。
self.first_name=first_name
self.last_name=last_name
def describe_user(self):
print(self.first_name.title()+self.last_name.title())
def greet_user(self):
print("Hello " +self.first_name.title()+self.last_name.title()+"!")
类中的函数称为方法,init() 是一个特殊的方法,每当根据User类创建实例是,都会自动运行这个方法
2.根据类创建实例
class User():
--snip--
first_user=User('zhang','lan')
#访问属性
first_user.first_name
#调用方法
first_user.greet_user()
3.使用类和实例
类编写好之后,根据类创建实例,实例不是一成不变的,需要做的就是修改实例的属性
3.1给属性指定默认值
class User():
def __init__(self,first_name,last_name):
self.first_name=first_name
self.last_name=last_name
self.login_attempts=0 #login_attempts的初始值设置为0
def describe_user(self):
print(self.first_name.title()+self.last_name.title())
def greet_user(self):
print("Hello " +self.first_name.title()+self.last_name.title()+"!")
def increment_login_attempts(self):
self.login_attempts +=1
print(str(self.login_attempts))
def resst_login_attempts(self):
self.login_attempts=0
print(str(self.login_attempts))
3.2修改属性的值
one_user=User('zhang','lan')
one_user.login_attempts=3#直接通过实例进行修改
one_user.increment_login_attempts()#通过方法进行递增(增加特定的值)
one_user.resst_login_attempts()#通过方法进行设置
网友评论