10python 类

2021-05-19  本文已影响0人  图南99

面向对象编程时最有效的软件编写方法之一,基于类来创建对象时,每个对象都自动具备这种通用的行为,然后根据需要在对每个对象赋予独特的个性
根据类来创建对象被称为实例化,这样能够使用类的实例。
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()#通过方法进行设置
上一篇下一篇

猜你喜欢

热点阅读