以下是一个示例:
import hashlib
class User:
# 类成员变量(公开)
name = ""
age = 0
city = ""
# 类成员变量(私有)
__password = ""
# 构造函数
def __init__(self, name, age, city):
self.name = name
self.age = age
self.city = city
# 类成员方法(公开)
def set_passoword(self, passoword):
self.__password = self.__encode_md5(passoword)
def get_password(self):
return self.__password
# 类成员方法(私有)
def __encode_md5(self,password):
hash = hashlib.md5()
hash.update(password.encode("utf-8"))
return hash.hexdigest()
# 打印方法,同 __repr__(),类似于 Java Object 的 toString() 方法
def __str__(self):
return "user:[name=%s ,age=%d, city=%s]" % (self.name, self.age, self.city)
# 实例化对象
user = User("assad", 20, "Guangzhou")
print(user) # 输出: user:[name=assad ,age=20, city=Guangzhou]
# 访问类成员变量
print(user.name) # 输出: assad
print(user.age) # 输出: 20
# 调用类成员方法
user.set_passoword("2333")
print(user.get_password()) #输出:f7e0b956540676a129760a3eae309294
init: 构造函数,在生成对象时调用 del: 析构函数,释放对象时使用 repr : 打印,转换 str: 同上 setitem : 按照索引赋值 getitem: 按照索引获取值 len: 获得长度 cmp: 比较运算 call: 函数调用 add: 加运算 sub: 减运算 mul: 乘运算 div: 除运算 mod: 求余运算 pow: 乘方