嵌套函数,nonlocal,LEGB,类里面的构造方法,构造函数init

    技术2024-08-08  74

    嵌套函数,可以封装,隐藏代码nonlocal:声明外层局部变量 def outer(): b = 10 def inner(): nonlocal b #声明外部函数的局部变量,所以inner是10; print ("inner",b) b=20 inner() print ("outer",b) outer() #结果 inner 10 outer 20 类的定义 class Student: #类名一般首字母大写 def __init__(self,name,age): #构造方法,当对象被创建后,立即调用构造方法,类里面构造方法是固定的init self.name = name self.age = age def say_age(self): print("{0}的年纪是: {1}".format(self.name,self.age)) a = Student("gao",30) a.say_age() 构造函数 init,固定的并且第一个参数必须为self,初始化创建好的对象,new用于创建对象,但我们无需重新定义; class Student: def __init__(self, name,age): self.name = name #实列属性 self.age = age def score(self): print("{0}的年龄是:{1}".format(self.name,self.age)) b = Student("gao",30) b.score() python对象三部分:id,类型,value(属性,方法)类方法 @clssmethod,cls特指类方法;静态方法@staticmethod;在类底下创建;del 实现对象被销毁call方法,称为可调用对象,函数也是对象; class SalaryA: def __call__(self, salary): print("fala") yearSalary = salary*12 daySalary = salary//22.5 return dict(yearSalary=yearSalary,daySalary=daySalary) a = SalaryA() print(a(3000))
    Processed: 0.013, SQL: 9