python类用法(二)

简介: python类用法(二)

python类用法(二)

、类的特殊方法

在Python中,有一些特殊的方法(也叫魔术方法或双下划线方法)用于定义类的行为。这些方法通常具有特定的命名格式,如__init____str____eq__等。

1. __init__ 方法

__init__ 方法是一个类的构造函数,当创建类的新实例时自动调用。它通常用于初始化新对象的属性。

python复制代码

 

class Person:

 

def __init__(self, name, age):

 

self.name = name

 

self.age = age

2. __str__ 方法

__str__ 方法返回一个描述对象的字符串,通常用于print函数或字符串格式化。

python复制代码

 

class Person:

 

def __init__(self, name, age):

 

self.name = name

 

self.age = age

 

 

 

def __str__(self):

 

return f"Person(name={self.name}, age={self.age})" 

 

 

 

person = Person("Alice", 30)

 

print(person) # 输出: Person(name=Alice, age=30)

3. __eq__ 方法

__eq__ 方法用于比较两个对象是否相等。

python复制代码

 

class Person:

 

def __init__(self, name, age):

 

self.name = name

 

self.age = age

 

 

 

def __eq__(self, other):

 

if isinstance(other, Person):

 

return self.name == other.name and self.age == other.age

 

return False 

 

 

 

person1 = Person("Alice", 30)

 

person2 = Person("Alice", 30)

 

person3 = Person("Bob", 25)

 

print(person1 == person2) # 输出: True

 

print(person1 == person3) # 输出: False

、类的封装和数据隐藏

类的封装是将数据(变量)和对其操作的方法捆绑在一起,形成一个独立的单元。Python通过约定俗成的命名方式(如使用单个下划线、双个下划线前缀等)来实现数据隐藏。

1. 单个下划线前缀

单个下划线前缀通常表示该属性或方法是“受保护的”或“内部使用的”,但这不是强制性的,外部代码仍然可以访问。

python复制代码

 

class MyClass:

 

def __init__(self):

 

self._private_var = "This is a private variable"

2. 双个下划线前缀

双个下划线前缀会导致Python解释器对属性名称进行变形(名称重整),使得外部代码无法直接访问。这是一种较强的封装方式。

python复制代码

 

class MyClass:

 

def __init__(self):

 

self.__private_var = "This is a truly private variable" 

 

 

 

# 外部代码无法直接访问 __private_var

 

# my_instance._MyClass__private_var # 可以通过这种方式访问,但不建议这样做

 

 

目录
相关文章
|
4天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
24天前
|
数据采集 存储 XML
python实战——使用代理IP批量获取手机类电商数据
本文介绍了如何使用代理IP批量获取华为荣耀Magic7 Pro手机在电商网站的商品数据,包括名称、价格、销量和用户评价等。通过Python实现自动化采集,并存储到本地文件中。使用青果网络的代理IP服务,可以提高数据采集的安全性和效率,确保数据的多样性和准确性。文中详细描述了准备工作、API鉴权、代理授权及获取接口的过程,并提供了代码示例,帮助读者快速上手。手机数据来源为京东(item.jd.com),代理IP资源来自青果网络(qg.net)。
|
2月前
|
Python
Python三引号用法与变量详解
本文详细介绍了Python中三引号(`"""` 或 `'''`)的用法,包括其基本功能、如何在多行字符串中使用变量(如f-string、str.format()和%操作符),以及实际应用示例,帮助读者更好地理解和运用这一强大工具。
114 2
|
3月前
|
索引 Python
python-类属性操作
【10月更文挑战第11天】 python类属性操作列举
39 1
|
3月前
|
Java C++ Python
Python基础---类
【10月更文挑战第10天】Python类的定义
36 2
|
3月前
|
缓存 测试技术 开发者
深入理解Python装饰器:用法与实现
【10月更文挑战第7天】深入理解Python装饰器:用法与实现
31 1
|
3月前
|
传感器 大数据 数据处理
深入理解Python中的生成器:用法及应用场景
【10月更文挑战第7天】深入理解Python中的生成器:用法及应用场景
129 1
WK
|
3月前
|
Python
Python类命名
在Python编程中,类命名至关重要,影响代码的可读性和维护性。建议使用大写驼峰命名法(如Employee),确保名称简洁且具描述性,避免使用内置类型名及单字母或数字开头,遵循PEP 8风格指南,保持项目内命名风格一致。
WK
30 0
|
3月前
|
Python
深入了解Python中星号变量的特殊用法
深入了解Python中星号变量的特殊用法
39 0
|
3月前
|
PyTorch 测试技术 算法框架/工具
Python中Thop库的常见用法和代码示例
肆十二在B站分享了关于THOP(Torch-OpCounter)的实战教学视频。THOP是一个用于计算PyTorch模型操作数和计算量的工具,帮助开发者评估模型复杂度和性能。本文介绍了THOP的安装、使用方法及基本用例,包括如何计算模型的FLOPs和参数量。
216 0

热门文章

最新文章