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

python-类和对象

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

python-类和对象

1、类

具有相同特征、相同行为的事物的集合。单个的事物也能称为类。

类的基本语法

class 类名:

    类的内容:变量、类函数等

print(类名)

类的命名:大驼峰 TestCase

例:

class Car:
    pass
print(Car)

输出:

2、对象

对象(object)是类事物中的一个成员(个体),对象也被称为实例、实体

1、 对象的表示方法:类名()

例:

class Car:
    pass
print(Car())

输出:<__main__.Car object at 0x0000000002124240>

2、类和对象的关系:类相当于建造房子的施工图纸,是一个模板,对象相当于房子。一个类可以有多个对象。

3、两个不同的对象不相等

class Car:
    pass
my_car = Car()
your_car = Car()
print(my_car == your_car)
print(Car() == Car())

输出:False 

           False

3、类属性

1、在一个类中,所有成员都具备的特征。在类定义的作用域中定义的变量,也叫类变量。

例:

# wheel、drived、elements类属性
class Car:
    wheel = True
    drived = True
    elements = ["塑料","铁"]
# 在类的里面获取类变量
    print(f"""wheel:{wheel}""")
# 在类的外面获取类变量
print(Car.elements)

输出:wheel:True
           ['塑料', '铁'] 

2、在类的外面不知直接写print(elements),会报错。

3、类属性的修改

例:

class Car:
    wheel = True
    drived = True
    elements = ["塑料","铁"]
Car.wheel = False
print(Car.wheel)

输出:False

4、实例属性

在类中某个成员具备的特征。个体特征。

1、对象获取类变量

class Car:
    wheel = True
    drived = True
    elements = ["塑料","铁"]
my_car = Car()
print(my_car.wheel)

输出:True

2、通过类修改某个类属性和通过对象修改某个属性的区别:

通过类修改某个类属性,类的属性和所有对象的属性都会改变;

通过对象修改某个属性,只修改该对象的属性,不会修改整个类的属性。

class Car:
    wheel = True
    drived = True
    elements = ["塑料","铁"]
my_car = Car()
Car.elements = ["塑料"]
print(Car.elements)
print(my_car.elements)

输出:['塑料']
           ['塑料']

class Car:
    wheel = True
    drived = True
    elements = ["塑料","铁"]
my_car = Car()
my_car.elements = ["塑料"]
print(Car.elements)
print(my_car.elements)

输出:['塑料', '铁']
           ['塑料']

5、对象初始化

对象产生的过程即制造出一个对象的过程,叫对象的初始化,也叫实例化。

--init--初始化函数

class Car:
    elements = ["塑料","铁"]
    def __init__(self):
        print("一个Car的对象正在产生")
print(Car())

输出:一个Car的对象正在产生
          <__main__.Car object at 0x0000000002414400>

1、--init--函数没有返回值,只能return none

2、定义类的过程,类的内容中默认存在--init--函数。如果该函数的函数体无内容,默认不显示该函数,如果函数体不是pass,即有内容,就必须显示该函数的定义过程。

3、--init--函数的形参必须包含self,还可以自定义传入别的参数。

class Car:
    elements = ["塑料","铁"]
    def __init__(self,color,logo):
        print("一个Car的对象正在产生")
        print("第一步:放底盘")
        print("第二步:装车架")
        print("第三步:装轮胎")
        print(f'''第四步:喷{color}颜色的漆''')
        print(f"""第五步:印logo{logo}""")
print(Car("红色","保时捷"))

输出:一个Car的对象正在产生
          第一步:放底盘
          第二步:装车架
          第三步:装轮胎
          第四步:喷红色颜色的漆
          第五步:印logo保时捷
          <__main__.Car object at 0x0000000002459B38>

6、self

表示在对象的生产过程中,代表即将出生或者已经出生的对象的一个标记。

只能在类的里面使用,类的外面没有self。

class Car:
    elements = ["塑料","铁"]
    def __init__(self,color,logo):
        self.color = "黄色"
        self.logo = "奔驰"
        print(f"""喷{color}颜色的漆""")
        print(f"""logo:{logo}""")
yuze_car = Car("骚红色","保时捷")
print(yuze_car)
print(yuze_car.color)

输出:喷骚红色颜色的漆
          logo:保时捷
          <__main__.Car object at 0x0000000002439B38>
          黄色

函数中定义的color只是形参,不是属性。如果不加self.color,print(yuze_car.color)时会报错。所以print(yuze_car.color)输出实例属性黄色。

在类里面获取实例属性用self.color表示,在类外面获取实例属性用yuze_car.color表示。

self.color与yuze_car.color相等

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

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

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