文章目录
前言
一、创建和使用类
二、修改属性的值
三、继承
四、导入类
总结
前言
面向对象编程是最有效的软件编写方法之一。而在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象。根据类来创建对象称为实例化,这就让你能够使用类的实例。
提示:以下是本篇文章正文内容,下面案例可供参考
一、创建和使用类
class Dog:
def __init__(self, name, age):
self.name = name
self.age = age
def sit(self):
print(f"{self.name} is now sitting.")
def roll_over(self):
print(f"{self.name} rolled over!")
def renew_name(slef, name):
self.name = name
my_dog = Dog('Willie', 6)
my_dog.sit()
my_dog.roll_over()
1.其中方法 __init__(),是一个特殊的方法,每当你创建新实例时,Python都会自动运行它。在此方法中,形参self不可缺少,而且必须位于其他形参的前面。
2. self.age = age,像这样可通过实例访问变量称为属性。
可能刚学习的小伙伴有这样的好奇,self.age 里面的age与 方法中变量中age是否是一个变量?它们之前是否存在关联?其实它们不是同一个关系,也没有什么联系,这是我们在编程时一种习惯,为的是让我们能够方便我们填入参数时与我们self前缀的变量赋值是能相对应,还有一点self前缀的变量可以提供给该类中的所有方法使用,可以理解为在该类中的全局变量。
3.my_dog = Dog('Willie', 6) ,即可创建类的实例,怎样来理解类的实例呢?我是这样理解的:你看类是不是没有明确指定哪一个,就如同罗翔老师经常拿张三做例子,但他没有指定是某某地的张三,而是一个广泛的一个概念,张三可能是你也可能是我?是不是?虽然这个例子好像不怎么准确,但它反应了这样一个现象当我们没有很明确指定一个事物时,它就是一个广泛的概念,但当我们明确了一个事物的具体外貌时,我们就可以确定这是个什么东西了,回到这句代码上my_dog = Dog('Willie', 6),我们使用Dog这个类,必填入其姓名和年龄,那是不是就是我自己的独一份的类,这就是类的实例,不知道我讲没讲清楚哈。
4.创建好实例后,我们可以通过实例名 + ‘.’来访问属性和方法。
二、修改属性的值
1、直接修改属性的值:
my_dog.name = 'anko'
2、通过方法修改属性的值:
my_dog.renew_name('jolh'):
三、继承
继承。一个类继承另一个类时,将自动获得另一个类的所有属性和方法。原有的类称为父类,而新类称为子类。子类继承父类属性和方法,同时还可以定义自己的属性和方法。
class Car:
def __init__(self, make, model, year):
self.make = make
self.model = model
self.year = year
self.odometer_reading = 0
def get_descriptive_name(self):
long_name = f"{self.year} {self.make} {self.model}"
return long_name.title()
class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
1、父类必须包含在当前文件中,且位于子类前面。
2、super() 是一个特殊函数,让你能够调佣父类的方法。
3、子类创建自己的属性和方法:
class ElectricCar(Car):
def __init__(self, make, model, year):
super().__init__(make, model, year)
self.battery = Battery()
def get_descriptive_name(self):#重写一次
long_name = f"{self.year} {self.make} {self.model}"
return long_name
如果你想剔除父类中的方法,你可以在子类里写入父类相同名的方法,Python 将忽略父类中的方法,而使用子类中的方法。
四、导入类
1、导入单个类:
from test import Car
2、导入多个类:
from test import Car, Battery
3、导入整个类:
import test
4、导入模块中所有的类
from test import *
有小伙伴会发现导入类与导入函数的方法差不多,所有我们如何才能分别我们导入函数还是导入类呢?
1、导入模块的命名:类名一般采用驼峰命名法,即将类名中的每个单词的首字母都大写,而不使用下划线。
2、我们使用类时,我们一定需要类的实例化,所有当出现 ‘ = ’ 时,我们就可以判定为类。
总结
我也是刚学Python,想记录自己一些学习的经历,如果有什么错误,请及时评论改错。最后希望这篇文章能帮助像我一样刚学Python的小萌新们!!!