类
1,类的定义:
所有的事物都是由两部分构成:数据(属性)和行为(方法)。类的命名遵循大驼峰命名法(如User、Person)
1)类的代码块中可以定义变量和函数:
①变量会成为该类实例的公共属性,(对象.属性名称);
②方法(函数)函数会成为该类实例的公共方法,(对象.函数名称)调用该方法。
注意:定义方法时,至少要定义一个参数(self?)
2.创建对象的流程
1).创建一个变量
2).在内存中创建一个新对象
3).init(self)方法执行
4).将对象的id赋值给变量
3.初始化方法: init(self)可以带无穷个参数,
4.封装是面向对象的三大特性之一
①封装指的是隐藏对象中一些不希望被外部所访问到的属性或方法
②如何隐藏一个对象中的属性?- 将对象的属性名,修改为一个外部不知道的名字
4.如何获取(修改)对象中的属性?
1)需要提供一个getter和setter方法使外部可以访问到属性
2) getter 获取对象中的指定属性(get_属性名)
3)setter 用来设置对象的指定属性(set_属性名)
class Person ():
def __init__(self,name,age,sex):
self.__name = name
self.__age = age
self.__sex = sex
def get_name(self):
return self.__name
def set_name(self,name):
self.__name = name
def get_age(self):
return self.__age
def set_age(self,age):
self.__age = age
def get__sex(self):
return self.__sex
def set_sex(self,sex):
self.__sex = sex
p = Person('name',15,'man')
p.set_name('name123')
print(p.get_name())
p.set_age(179)
print(p.get_name(),p.get_age(),p.get__sex())
'''
3.用户:创建一个名为UserUser的类,其中包含属性first_name和last_name,
还有用户简介通常会存储的其他几个属性。在类User中定义一个名为
describe_user()的方法,它打印用户信息摘要;
再定义一个名为greet_user()的方法,它向用户发出个性化的问候。
创建多个表示不同用户的实例,并对每个实例都调用上述两个方法.
'''
class User():
def __init__(self,fname,lname,age,tel,points):
self.__fname = fname
self.__lname = lname
self.__tel = tel
self.__age = age
self.__points = points
def d_user(self):
print('你好,我是%s%s ,我%d岁,我的联系方式是%s'%(self.__fname,self.__lname,self.__age,self.__tel))
def t_user(self):
print('您当前的积分为:',self.__points)
def get_fname(self):
return self.__fname
def set_fname(self,fname):
self.__fname = fname
def get_lname(self):
return self.__lname
def set_lname(self,lname):
self.__lname = lname
def get_tel(self):
return self.__tel
def set_tel(self,tel):
self.__tel = tel
def get_age(self):
return self.__age
def set_age(self,age):
self.__age = age
def get_points(self):
return self.__points
def set_points(self,points):
self.__points = points
u = User('张','三',18,'151XXXXXXXX',1500)
u.set_fname('李')
u.set_lname('四')
print(u.get_fname())
print(u.get_lname())
u.set_points(1800)
print(u.get_points())
u.d_user()
u.t_user()