复习python从入门到实践——类

发布时间:2024年01月10日

复习python从入门到实践——类

学好继承,你就初步学习了程序面向对象啦~本章我依旧为大家整理好了运行的步骤,以及举了尽可能清晰简单的例子为大家展示。

1. Syntax

  • 步骤
    创建类
    创建方法:定义初始化属性
    (创建其他方法)
    给属性赋值
    创建实例
    调用方法/属性
class MyClass():
    def __init__(self, arg1, arg2):
        self.attribute1 = arg1
        self.attribute2 = arg2

# 创建一个类的实例
my_instance = MyClass("value1", "value2")

print(my_instance.attribute1)  # 访问属性,输出: value1
print(my_instance.attribute2)  # 访问属性,输出: value2

arg/ attribute

注意:

(1)当创建类的实例时,会自动调用__init__方法。(在对象实例化时进行初始化操作)
(2)类的首字母大写,实例小写。
(3)类的每个属性都有初始值,哪怕是0。

class Car():
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer= 0

2.修改属性值

(1)直接在调用时修改
创建实例,在下一行为属性赋值,然后再调用方法。

class Car():
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer= 0
        
    def reading_odometer(self):
        print(f"This car has {self.odometer} miles on it. ")

my_car = Car('audi','a4','2016')
my_car.odometer=16
my_car.reading_odometer()

(2) 创建新方法
a.直接更新数值
创建方法updating_odometer(),在括号中添加数值以对odometer进行改变。
调用时:先执行updating_odometer()方法,再执行reading_odometer方法。

class Car():
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer= 0

    def reading_odometer(self):
        print(f"This car has {self.odometer} miles on it. ")
    
    def updating_odometer(self, mileage):
        self.odometer=mileage

my_car = Car('audi','a4','2016')
my_car.updating_odometer(16)
my_car.reading_odometer()

b.叠加
设置初始值为16,创建方法increment_odometer(),初始值加上括号值对odometer进行改变。

class Car():
    def __init__(self,make,model,year):
        self.make = make
        self.model = model
        self.year = year
        self.odometer= 16

    def reading_odometer(self):
        print(f"This car has {self.odometer} miles on it. ")
    
    def increment_odometer (self, mileage):
        self.odometer += mileage

my_car = Car('audi','a4','2016')
my_car.increment_odometer(100)
my_car.reading_odometer()

3.继承

调用super()的‘init’方法:继承父类的方法与属性。
调用后,子类代码可以修改父类属性的值,修改为属于自己的性质。

class BaseClass:
    def __init__(self, arg1, arg2): 
    	self.attribute1 = arg1
    	self.attribute2 = arg2
    
class DerivedClass(BaseClass):
    def __init__(self, arg1, arg2): 
        super().__init__(arg1, arg2)# 调用父类的初始化方法
        self.attribute1= arg1
 

4.导入

导入文件中的某个类

from project import Class

导入文件中的多个类

from project import ClassA, ClassB, ClassC

导入文件中所有类(导入文件)

import project

5. Python标准库

OrderedDict,行为与字典相同。区别只在于记录了键—值对的添加顺序。

模块random包含以各种方式生成随机数的函数,其中的randint()返回一个位于指定范围内的整数。

from random import randint
class Die:
    def __init__(self, sides=6): #初始化参数是6
        self.sides=sides
    def roll_die(self):
        result=randint(1,self.sides)
        print(f'The number is {result}')

first_die = Die(sides=6)
for _ in range(10):
    first_die.roll_die()

_

总结

创建类与调用__init__方法
修改类的属性值(调用时修改/创建新方法)
继承类的方法与属性(from xx import xx)
导入类与几个Python标准库【OrderedDict/ random-randint()】

文章来源:https://blog.csdn.net/2301_80205209/article/details/135500817
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。