栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python 类

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python 类

类:一大类对象共有的通用行为

类中的函数称为方法

__init__是一个特殊的方法 ,以self为前缀的变量可供类中的所有方法使用。

class Dog:
    def __init__(self,name,age):
        self.name=name
        self.age=age
    def sit(self):
        ...
    def roll_over(self):
        ...
通过实例访问的变量称为属性:name,age
my_dog=Dog('dasd',5)
访问属性:my_dog.name;my_dog.age
访问方法:my_dog.sit();my_dog.roll_over()

给属性指定默认值,有些属性无需形参来定义,可在方法__init__()中来指定默认值,如

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

修改属性的值:

直接修改如

my_car=Car('dfd','fdf',686)
my_car.odometer_reading=23

再设立一个函数,如

def update_odometer(self,mileage):
    self.odometer_reading=mileage
my_car=Car('fdsf','sfsdf',42)
my_car.update_odometer(23)

通过方法对属性的值进行递增


继承:子类继承父类时,将自动获得另一个类的所有属性和方法,并可以定义自己的属性和方法,创建子类时,父类必须在当前文件中,且位于子类前面

编写子类时,要调用父类的方法__init__(),这是将初始化在父类的__init__()方法中定义的所有属性,从而让子类包含这些属性

class Car:
    def __init__():
        self.make=make
        self.model=model
        self.year=year
        self.odometer_reading=0
    def 
    def
    def
class ElectricCar(Car):
    def __init__(self,make,model,year):
        super.__init__(make,model,year)
        self.battery_size=75
    def describe_battery(self):
        ...
super()时特殊函数,让你能够调用父类的方法
给子类定义属性和方法,如self.battery_size=75;def describe_battery(self):

 对于父类的方法,不符合子类,是可以重写的

假如父类里有fill_gas_tank()的方法,但是他对点电动车毫无意义,就可以重写他

class ElectricCar(Car):
    def fill_gas_tank(self):
        print("fdfdfdddgfbfbf")
class Car:
    def __init__(self,make,model,year):
        ...
    def get_describe_name(self):
        ...

class Battery:
    def __init__(self,battery_size):
        self.battery_size=battery_size
    def describe_battery(self):
        print("vdfvd")

class ElectricCar:
    def __init__(self,make,model,year):
    super().__init__(make,model,year)
    self.battery=Battery()
my_tesla=ElectricCar('dfsf','fsdfs',24)
print(my_tesla.get_describe_name())
my_tesla.battery.describe_battery()#这是在my_tesla中查找属性battery,并对存储在该属性中的Battery实例调用方法describe_battery()



 导入类

在cay.py中有一个Car类,导入时from car import Car

一个模块导入多个类,from car import Car,ElectricCar

导入整个模块import car

导入模块所有类from module_name import *

可以用as做别名


 

搜索路径

当你导入一个模块,Python 解析器对模块位置的搜索顺序是:

1、当前目录2、如果不在当前目录,Python 则搜索在 shell 变量 PYTHonPATH 下的每个目录。3、如果都找不到,Python会察看默认路径。UNIX下,默认路径一般为/usr/local/lib/python/。

模块搜索路径存储在 system 模块的 sys.path 变量中。变量里包含当前目录,PYTHONPATH和由安装过程决定的默认目录。


PYTHonPATH 变量

作为环境变量,PYTHonPATH 由装在一个列表里的许多目录组成。PYTHonPATH 的语法和 shell 变量 PATH 的一样。

在 Windows 系统,典型的 PYTHonPATH 如下:

set PYTHonPATH=c:python27lib;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/768934.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号