Erlo

我的Python分析成长之路7

2019-01-12 22:01:58 发布   317 浏览  
页面报错/反馈
收藏 点赞

一、编程范式:

       1.函数式编程   def

      2.面向过程编程   (Procedural Programming)

        基本设计思路就是程序一开始是要着手解决一个大的问题,然后把一个大问题分解成很多个小问题或子过程,这些子过程再执行的过程再继        续分解直到小问题足够简单到可以在一个小步骤范围内解决。

      3.面向对象编程 (object oriented programming)

         OOP编程是利用“类”和“对象”来创建各种模型来实现对真实世界的描述,使用面向对象编程的原因一方面是因为它可以使程序的维护和扩         展变得更简单,并且可以大大提高程序开发效率 ,另外,基于面向对象的程序可以使它人更加容易理解你的代码逻                   辑,从而使团队开发变得更从容。

      

 1 #面向对象编程
 2 class Dog():
 3     '''一次小狗的简单模拟类'''
 4     def __init__(self,name,age):
 5         self.name = name
 6         self.age = age
 7     def eating(self,food):
 8         '''模拟小狗吃东西'''
 9         print("%s is eating %s"%(self.name,food))
10     def running(self):
11         '''模拟小狗跑步'''
12         print("%s is running "%self.name)
13     def main(self):
14         self.eating("apple")
15         self.running()
16 if __name__ == "__main__":
17     dog1 = Dog("xiaoming",3)
18     dog1.main()
View Code

      1.方法__init__():初始化函数,每当实例化类时,python就会自动运行该函数。调用该函数时,会自动传递实参self,它是一个指向实例本身的引用,让实例能访问类中的       属性和方法.__init__()函数中需要的参数,就是实例化类时需要传递的参数

      2. 其他方法:通过实例来调用该方法 

      3.类属性和实例属性 调用时用.调用  类方法也通过.来调用

      

      

      

      

 1 class Car():
 2     name = "Ryoma"
 3     '''一次汽车的简单模拟类'''
 4     def __init__(self,make,model,year):
 5         '''汽车的属性'''
 6         self.make = make
 7         self.model = model
 8         self.year = year
 9         self.odometer_ing = 0
10     def get_describe(self):
11         '''车的描述'''
12         print(str(self.make)+' '+str(self.model)+' '+str(self.year))
13     def read_odometer(self):
14         '''读里程表'''
15         print("this car has "+str(self.odometer_ing)+' '+"miles ")
16     def update_odometer(self,miles):
17         '''更新里程表的数'''
18         self.odometer_ing += miles
19 car = Car("AUDI",'A6',1995)
20 car.update_odometer(100)
21 print(car.odometer_ing)
22 car.read_odometer()
View Code

二、类的三大特性

        1.封装

            封装也就是把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或对象操作,对不可信的进行信息隐藏

        2.继承

            继承是指这样一种能力,它可以使用现有类的所有功能,并在无需重新编写原来类的情况下对这些功能进行扩展。

            通过继承创建的类为“子类”或“派生类”。被继承的类称为“父类”或“基类”。

            继承实现的方式主要有两种:实现继承、接口继承。实现继承指的是使用基类的属性或方法而无需额外的编码能力。接口继承指使用属性和方法的名称,            但是子类必须提供实现的能力(即重构父类的方法)

            

 1 class Car():
 2     def __init__(self,make,model,year,fill_gas=100):
 3         '''汽车的属性'''
 4         self.make = make
 5         self.model = model
 6         self.year = year
 7         self.odometer_ing = 0
 8         self.fill_gas = 100
 9     def get_describe(self):
10         '''车的描述'''
11         print(str(self.make)+' '+str(self.model)+' '+str(self.year))
12     def read_odometer(self):
13         '''读里程表'''
14         print("this car has "+str(self.odometer_ing)+' '+"miles ")
15     def update_odometer(self,miles):
16         '''更新里程表的数'''
17         self.odometer_ing += miles
18     def fill_gas_tank(self):
19         print("this var has %s "%self.fill_gas)
20 class ElectricCar(Car):
21     '''创建一个电动车的模拟类'''
22     def __init__(self,make,model,year):
23         super(ElectricCar,self).__init__(make,model,year)
24         self.battery = Battery()
25     def fill_gas_tank(self):
26         print("this car has no fill_gas")
27 class Battery():
28     '''一次对电池的简单模拟'''
29     def __init__(self,battery_size=70):
30         self.battery_size = battery_size
31     def describe_battery(self):
32         print("this battery size is %s"%self.battery_size)
33 ecar = ElectricCar('tesla','s',2000)
34 ecar.battery.describe_battery()
View Code

 1 class Company():
 2     def __init__(self,name,addr,found_year):
 3         self.name = name
 4         self.addr = addr
 5         self.found_year = found_year
 6     def tell(self):
 7         print("公司名为%s,地址是%s,成立于%s"%(self.name,self.addr,self.found_year))
 8     def roll_member(self):
 9         print("
登录查看全部

参与评论

评论留言

还没有评论留言,赶紧来抢楼吧~~

手机查看

返回顶部

给这篇文章打个标签吧~

棒极了 糟糕透顶 好文章 PHP JAVA JS 小程序 Python SEO MySql 确认