标签:return enter 字符串表 country 判断 ext 构造 xxx print
# # class Foo: # def __init__(self): # 初始化操作 # print("我是init, 我是老二") # print("初始化操作. 在创建对象的时候自动调用这个方法") # # def __new__(cls, *args, **kwargs): # 创建, 它是真正的构造方法, 可以开辟内存 # print("我是new. 我是老大") # return object.__new__(cls) # # # # 为了 对象() # def __call__(self, *args, **kwargs): # print("我是对象()") # # # 对象[] # def __getitem__(self, item): # print("item=",item) # print("你执行了__getitem__") # return "哈哈" # # # 对象[key] = value # def __setitem__(self, key, value): # print("key, ", key) # print("value, ", value) # # # del lst[1] # def __delitem__(self, key): # print("key=", key) # # # with 对象: # def __enter__(self): # print("我是enter") # # # with 对象: 代码执行完毕. 最后执行这里 # def __exit__(self, exc_type, exc_val, exc_tb): # print("我叫exit") # # def __len__(self): # print("我的天哪") # return 3 # # # f = Foo() # 自动执行__init__() # f() # 调用-> __call__() # print(callable(f)) # 对象() # print(f["李嘉诚"]) # 自动调用__getitem__() # f[‘jay‘] = "林俊杰" # del f[‘哈哈‘] # with f: # print("我是哈哈哈哈") # with open() : # lst = ["孙艺珍", "李金珠", "井柏然"] # # lst[2] # =>自动的调用__getitem__() # def func(): # pass # func = 3 # print(callable(func)) # 判断xxx是否是可调用的 # # f.__init__() # 第一次这么写. 以后别这么写 # lst = [1,2,3,4] # it = iter(lst) # # print(it.__next__()) # # print(next(it)) # __next__() # 面试之前翻一番 # 写出15个特殊成员, 并给出具体作用 # class H: # country = "大清" # # print(H.country) # 面向对象编程的执行流程 -> # 1. 加载类 -> 给类创建一个名称空间 -> 主要存放类变量. # 2. 创建对象 -> 先找类. -> 根据类来开辟内存 -> 执行类中的__new__() -> 执行__init__() -> 返回对象 class Student: def __init__(self, name, no, gender, cls, age): self.name = name self.no = no self.gender = gender self.cls = cls self.age = age # 这个对象字符串的表示. def __str__(self): # 返回该对象的字符串表示形式 return f"{self.name}, {self.no}, {self.gender}" def __repr__(self): # 该对象的官方的字符串表示形式 return f"{self.name}, {self.no}, {self.gender}" s = Student("董仲浩", "3", "男", "S18", "31") print(s)
标签:return enter 字符串表 country 判断 ext 构造 xxx print
原文地址:https://www.cnblogs.com/work14/p/10145476.html