# from math import pi
#
# class Circle:
# def __init__(self, r):
# self.r = r
#
# @property
# def perimeter(self):
# return 2*pi*self.r
#
# @property
# def area(self):
# return self.r**2*pi
#
# circle = Circle(4)
# print(circle.perimeter)
# print(circle.area)
# class Person:
# discount = 0.8
# def __init__(self, name):
# self.__name = name
# self.price = 20
#
# @property
# def name(self):
# return self.__name
#
# @name.deleter
# def name(self):
# return self.__name
#
# @name.setter
# def name(self, new_name):
# self.__name = new_name
#
# person = Person('aaa')
# print(person.name)
# person.name = 'bbb'
# del person.name
# print(person.name)
class Person:
age = 1
def __init__(self, name):
self.__name = name
@property # 把方法变成属性
def name(self):
return self.__name
@classmethod # 把方法变成类方法,这个方法就直接可以被类调用,不需要依托任何对象
def get_age(cls, age):
cls.age = age
# 如果一个函数 既和对象没有关系 也和类没有关系 那么就用staticmethod将这个函数变成静态方法
@staticmethod
def get_usr_pwd():
usr = input('input user:')
pwd = input('input password')
print('user is %s, password is %s' %(usr, pwd))
person = Person('aaa')
print(person.name)
Person.get_age(54)
Person.get_usr_pwd()