IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> python-类和对象 -> 正文阅读

[Python知识库]python-类和对象

1、类

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

类的基本语法

class 类名:

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

print(类名)

类的命名:大驼峰 TestCase

例:

class Car:
    pass
print(Car)

输出:<class '__main__.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相等

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:25:08  更:2021-09-23 11:25:26 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:41:02-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码