一、封装:
补充封装:
封装: 体现在两点: 1、数据的封装(将数据封装到对象中) obj = Foo('宝宝',22) 2、封装方法和属性,将一类操作封装到一个类中
class Foo: def __init__(self,name,age): self.name = name self.age = age def show (self): print(self.name,self.age)
什么是封装呢?(封装不是单纯意义的隐藏,其实它还是可以查看的)
就是把一些不想让别人看的给隐藏起来了
封装数据:目的是保护隐私
功能封装:目的是隔离复杂度
如果用了私有的,在类的外部,无法直接使用变形的属性,但是在类的内部可以直接使用
1 1.用我们常用的__init__方法里的self取值 2 class Course:#恰好给我们提供了实现这种思路的方法 3 # #一种思路,python 4 def __init__(self,price,period,name): 5 self.price = price 6 self.period = period 7 self.name = name 8 c = Course(2000,'linux','6 months') 9 print(c.period) 10 11 2.在类里面定义一个空字典,然后装在字典里面取值 12 def course(price,name ,period): 13 dic = {} 14 dic['price'] = price 15 dic ['name'] = name 16 dic ['period'] = period 17 return dic 18 19 c = Course(2000,'python','6 months') 20 print(c.period) #对象名.属性名 查看属性的值 21 22 3.利用namedtuple方法 23 from collections import namedtuple #只有属性没有方法的类 24 Course = namedtuple('Course',['name','price','period']) #传两个参数,第一个为自定义的名字,第二个传进去的是属性 25 python = Course('python',10000,'6 moths') #相当于实例化了 26 print(python.name)