#测试嵌套函数 def outer(): print("outer running") def inner01(): print("inner01 running") inner01() outer() def printChinsesName(name,familyName): print("{0} {1}".format(familyName,name)) def printEnglishName(name,familyName): print("{0} {1}".format(name,familyName)) def printName(isChinese,name,familyName): def inner_print(a,b): print("{0} {1}".format(a,b)) if isChinese: inner_print(familyName,name) else: inner_print(name,familyName) printName(True,"三","张") printName(False,"Kevin","Drunt") #测试nonlocal与global def outer(): b = 10 def inner(): nonlocal b # 声明外层局部变量 print("inner b:",b) b = 20 inner() print("outer b:",b) outer()
class Student: #类名首字母大写,多个单词使用驼峰原则 def __init__(self,name,score): #self(形式参数)必须位于第一个参数位 self.name = name self.score = score def say_score(self): #self必须位于第一个参数位 print("{0}分数是:{1}".format(self.name,self.score)) s1 = Student("张三",18) s1.say_score() print(dir(s1)) print(s1.__dict__) print(isinstance(s1,Student)) s2 = Student s3 = s2("李四",19) s3.say_score()
class Student: company = "sxt" #类属性 @classmethod def printCompany(cls): print(cls.company) Student.printCompany() class Student2: company = "sxt" @staticmethod def add(a,b): print("{0}+{1}={2}".format(a,b,(a+b))) return a+b Student2.add(20,30) #析构方法 class Person: def __del__(self): print("销毁对象{0}".format(self)) p1 = Person() p2 = Person() del p2 print("程序结束")