部分内置方法与模块的认识

本文深入探讨了Python中特殊方法的应用,如__init__、__del__等,解释了它们如何帮助进行资源管理和对象操作,并通过具体示例展示了__getitem__、__setitem__等方法在类中的使用。
# del内置方法,又称为析构方法
# class A:
#     NAME="李淳罡"
#     def __init__(self,sex):
#         self.sex=sex
#     def __del__(self):
#         print(666)
# a=A(16)
# print(a.NAME)
# del a
# # print(a.sex)
# print(getattr(A,"NAME"))#主动或者被动执行
# 用于文件的处理
# class file:
#     def __init__(self,file_path):
#         self.f=open(file_path,encoding="utf-8")
#     def __del__(self):
#         print(666)
#         self.f.close()
# a=file("a")
# print(a.f.read())
# 析构方法用于文件的读取,便于清空文件内容占的空间


# __item__系列:
# class A:
#     def __init__(self,name):
#         self.name=name
#     def __getitem__(self, item):
#         return getattr(self,item)
#     def __setitem__(self, key, value):
#         return setattr(self,key,value)
#     def __delitem__(self, key):
#         delattr(self,key)

# class A:
#     def __init__(self,lst,age):
#         self.lst=lst
#         self.age=age
#     def __getitem__(self, item):
#         return self.lst[item]
#     def __setitem__(self, key, value):
#          self.lst[key]=value
#     def __delitem__(self, key):
#         self.lst.pop(key)
#         print(666)
# a=A("李淳罡","200")
# a["李白"]="2000"
# del a["李白"]
# print(getattr(a,"name"))
# print(a["李白"])
# a=A([1,2,3,4,5,],"100")
# # print(a[2])
# # a[2]=6
# # print(a[2])


# __hash__和__eq__
# class A:
#     def __init__(self,name,sex):
#         self.name=name
#         self.sex=sex
#     def __eq__(self, other):
#         if self.name == other.name and self.sex == other.sex:
#             return True
# a=A("李淳罡",120)
# b=A("李淳罡",120)
# print(a==b)
# class People:
#     def __init__(self,name,sex,age):
#         self.name=name
#         self.sex=sex
#         self.age=age
#     def __hash__(self):
#         return hash("%s%s"%(self.name,self.sex))
#     def __eq__(self, other):
#         if self.name==other.name and self.sex==other.sex:
#             return True
# man=[]
# for i in range(10):
#     man.append(People("李淳罡","男",170))
# for j in range(10):
#     man.append(People("拓拔万岁","男",120))
# # print(man)
# s=set(man)
# for m in s:
#     print(m.name)
#     print(m.__dict__)
#


# 模块初步了解
# 导入模块的步骤:1,找到这个模块2.创建一个导入模块文件对应的内存空间3.执行导入的模块空间代码4,建立与导入的模块空间之间的引用关系
# 模块分为:
# 内置模块,第三方模块/扩展模块,自定义模块
# 什么是模块
    # 有的功能开发者自己无法完成,这样的话需要借助已经实现的函数\类来完成这些功能
    # 你实现不了的功能都由别人替你实现了
        # 操作系统打交道
        # 和时间
        # 1000取随机数
        # 压缩一个文件
        # 和网络通信
    # 别人写好的一组功能  文件夹/py文件/C语言编译好的一些编译文件
        # 分类 管理方法
        # 节省内存
        # 提供更多的功能
# 模块的功能:分类,管理方法;节省内存;提供更多的功能
# immport 文件名 # 要导入一个py文件的名字,但是不加.py后缀名
# import 文件名 as 修改后的引用名   # 模块的名字必须要满足变量的命名规范
#                    # 一般情况下 模块都是小写字母开头的名字

 

转载于:https://www.cnblogs.com/zhangdaye/p/9410091.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值