编译器:Visual Studio Code
环境:Python 3.9.6
记录学习过程,如有冒犯,不胜荣幸。
#类与对象 #类class class Test: #class 类名: num = 10 #类属性 def fun(self): #实例方法 print('Example') @staticmethod #静态方法 def means(): #通过类名直接调用 return "Static " @classmethod #类方法 def way(cls): #通过类名直接调用 print("正在使用") def __init__(self,name,age) : #初始化方法 #self.__为实体属性,即把参数的值赋给实体属性。类似于Java的this self.name = name self.age = age def fun1(self): print(self.name+"正在调用") #对象 num_1 = Test("Name",-1) #创建对象(类的实例化) #对象名 = 类名() ''' num_1.fun() #调用方法。对象名.方法() Test.fun(num_1) #用类名调用方法,传入类的对象 ''' ''' print (num_1.means()) print(Test.means()) #通过类名直接调用静态方法 print(Test.num) #调用类属性。 类名.类属性 Test.num = 100 #修改属性值 print(Test.num) ''' ''' print(id(Test)) #分配内存空间 print(type(Test)) #<class 'type'> print(Test) #<class '__main__.Test'> 创建了类对象Test ''' stu_1 = Test("张三",20) stu_2 = Test("李四",18) #传参至init方法 ''' print(stu_1.name,stu_1.age) # 张三 20 print(stu_2.name,stu_2.age) # 李四 18 stu_1.fun1() # 张三正在调用 stu_2.fun1() # 李四正在调用 ''' #类的继承 class Test_1(Test): #class 类名(父类名,父类名,object)//python支持多继承,共同父类object def __init__(self, name, age,grade): super().__init__(name, age) #super().父类方法名()调用被隐藏的方法 self.grade = grade #子类必须在构造函数中调用父类的构造函数 #方法重写 def fun1(self): #重写Test类的方法fun1() super().fun1() #输出 王五正在调用 #return super().fun1() # 时,此行后的语句被隐藏 print("方法重写") #输出 方法重写 a = Test_1("王五",18,99) ''' a.fun1() #调用重写方法fun1() print(a.__dict__) #特殊属性__dict__,获得对象的属性以字典形式返回 #{'name': '王五', 'age': 18, 'grade': 99} ''' #模块(.py的文件) #导入模块 import 模块名称 from 模块名称 import 函数/变量/类 import math #导入系统math模块 print(math.pi) #3.141592653589793 from math import pi #导入math模块的pi print(pi) if __name__ == "__main__": #以主程序形式运行,当该模块被其他模块导入时,不执行主程序 pass #包 #import 包名.模块名 import Package_1.page_1 #包是包含__init__.py文件的目录 #文件读写 #创建文件对象 #对象名 = open(文件名[,mode,encoding]) 打开模式默认为mode只读,文本字符编写格式为gdk file_1 = open("Data.txt","r") #"r"表示read读取 print(file_1.readlines()) #编码格式ANSI。readline()读取一行,readlines()读取所有行 file_1.close() file_2 = open("Data_1.txt","w") #"w"表示写入。如果文件不存在,则自动创建;否则覆盖原有内容 file_2.write("Hello World") #write()写入字符串 file_2.close() file_3 = open("Data_1.txt","a") file_3.write("\nPyhton") file_3.close() #with语句 with open("Data.txt","r") as File: print(File.read()) #with语句自动管理上下文资源,不需要close()就能确保文件正常关闭 #with open("文件名","打开模式") as 对象名