什么是函数什么是方法,类其中@property装饰器的使用

什么是函数,什么是方法

假设存在类

class Foo():

  def get(self):

    pass

Foo.fetch(123) 

上述如果直接通过类来调用类其中的get函数,那这个就是函数

然而 如果 

obj = Foo()

obj.get()

通过类实例化成一个对象来调用类中的方法就是方法,总结 通过类直接调用的方法,需要自己手动传参的,那是函数,通过对象调用的那是方法

补充:类里的私有字段的调用

 

class Foo():
  def __init__(self):

    self.__age=18

  def get_age(self):

    print(self.__age)

 

obj = Foo()

obj.age不能z直接调用age字段

第一种方法:age  = obj.get_age() #在类内部设置一个函数来取,在类内部可以取

第二种方法:age  = obj._Foo__age #强取私有字段

 

 

 

第三块也是最重要的一块:

假设存在这样一个函数

class User():
@property
    def password(self):
        raise AttributeError("不可读")  #密码只能赋值 并不能读,如果能够读取会很不安全

    @password.setter
    def password(self,passwd):
        self.password_hash = generate_password_hash(passwd)

user = User()
print(user.password) #则会执行@property下的password方法
user.password = "xxxxx" #则会执行@password.setter的方法
#给类设置虚拟属性 而上面就是属性的存(@password.setter)和取(@property)

 

还有补充

mysql调用 net start mysql

然后 mysql -u root -p

输密码即可

然后 show databases;

然后 use xxxbase;

插入数值什么

insert xxxtable(字段1,字段2,字段3)  values("字段值1",“字段值2”,“字段值3”)


  

 

上一篇:python面向对象之property装饰器


下一篇:Cannot read property ‘prototype‘ of undefined