1.类的概念
#面向对象编程是最有效的软件编写方法之一。定义一大类对象都有的通用行为,基于类创建对象时,每个对象都自动具备这种通用行为,然后可根据需要为每个对象赋予独特属性。
class Dog():
"""模拟小狗"""
def __init__(self, name,age):
"""初始化属性name和age"""
self.name = name
self.age = age
def sit(self):#蹲下
print(self.name.title()+" is now sitting")
def roll_over(self):#打滚
print(self.name.title()+" rolled over!")
my_dog = Dog('while',6)
print("My dog's name is "+my_dog.name.title())
print("My dog is "+str(my_dog.age)+" years old.")
my_dog.sit()
my_dog.roll_over()
out:My dog's name is While
My dog is 6 years old.
While is now sitting
While rolled over!
2.通过方法修改属性的值
class Car():
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
#定义方法,当前里程
def update_odometer(self,mileage):
self.odometer_reading = int(mileage)
#定义方法,增加的里程
def increment_odometer(self,miles):
self.odometer_reading += int(miles)
#定义方法,打印里程
def read_odometer(self):
print("this car has "+str(self.odometer_reading)+" miles on it.")
my_useed_car = Car('Audi','A4',2014)
#用户输入购买时里程
my_useed_car.update_odometer(input("how miles when you buy it?"))
my_useed_car.read_odometer()
#用户输入增加的里程
my_useed_car.increment_odometer(input("how miles you drinvee?"))
my_useed_car.read_odometer()
out:how miles when you buy it?50
this car has 50 miles on it.
how miles you drinvee?30
this car has 80 miles on it.
3.继承(父类与子类)
一个继承另一个类时,它自动获得另一个类所有属性和方法;原有的类称为父类,新类称为子类。子类继承父类所有的属性和方法,同时还可定义自己的属性和方法。
class Car():
def __init__(self,make,model,year):
self.make = make
self.model = model
self.year = year
def get_descriptive_name(self):
long_name = str(self.year)+" "+self.make+" "+self.model
return long_name.title()
#定义方法,当前里程
def update_odometer(self,mileage):
self.odometer_reading = int(mileage)
#定义方法,增加的里程
def increment_odometer(self,miles):
self.odometer_reading += int(miles)
#定义方法,打印里程
def read_odometer(self):
print("this car has "+str(self.odometer_reading)+" miles on it.")
def fill_gas_tank(self,gas_tank=0.8):
self.gas_tank = gas_tank
#将电车ElectricCar的电池属性单独拿出来,避免过长
class Battery():
#为类Battery添加新属性battery_size并设置默认值70
def __init__(self,battery_size=70):
self.battery_size=battery_size
def describe_battery(self):
print("The car has a "+str(self.battery_size)+" -kwh battery.")
#以Car为父类写子类ElectricCar,父类必须在当前文件中,且位于子类前
class ElectricCar(Car):
def __init__(self,make,model,year):
#super()是一类特殊的函数,将父类与子类关联起来
super().__init__(make,model,year)
#实例化Battery类,作为ElectricCar类的属性
self.battery = Battery()
#重写父类,与父类同名,不再关注父类,只关注子类
#让子类继承父类的精华,剔除糟粕
def fill_gas_tank():
print("this car doesn't need a gas tank!")
my_tesla = ElectricCar('tesla','modelss',2016)
print(my_tesla.get_descriptive_name())
#通过ElectricCar类的battery属性调用Battery类的describe_battery方法
my_tesla.battery.describe_battery()
out:
2016 Tesla Modelss
The car has a 70 -kwh battery.
python的学习还是要多以练习为主,想要练习python的同学,推荐可以去看,他们现在的IT题库内容很丰富,属于国内做的很好的了,而且是课程+刷题+面经+求职+讨论区分享,一站式求职学习网站,最最最重要的里面的资源全部免费。
他们这个python的练习题,知识点编排详细,题目安排合理,题目表述以指导的形式进行。整个题单覆盖了Python入门的全部知识点以及全部语法,通过知识点分类逐层递进,从Hello World开始到最后的实践任务,都会非常详细地指导你应该使用什么函数,应该怎么输入输出。
牛客网(牛客网 - 找工作神器|笔试题库|面试经验|实习招聘内推,求职就业一站解决_牛客网)还提供题解专区和讨论区会有大神提供题解思路,对新手玩家及其友好,有不清楚的语法,不理解的地方,看看别人的思路,别人的代码,也许就能豁然开朗。
快点击下方链接学起来吧!