python10day

def test(num):
print(“在函数内部%d对应的地址是%d” % (num, id(num)))
result = “hello”
print(“函数要返回的内存地址是%d” % id(result))
return num

a = 10
print(“a变量的数据存储地址是%d” % id(a))
r = test(a)
print("%s的内存地址是 %d" % (r, id®))

魔方方法

迭代器菲波那数列

class Fib:
def init(self):
self.a = 0
self.b = 1
self.count = 0

def __iter__(self):
    return self

def __next__(self):
    self.a, self.b = self.b, self.a + self.b

f = Fib()
c = 0
for i in f:
c += 1
if c > 12:
break
print(i)
*******************************************************
# 邮箱类
class Email:
# 属性
password = ‘’
# 设置用户名是否允许删除
isdelname = False # True 能删除 False不能
# 方法
pass

# 设置初始化方法,添加描述符使用的变量 var
def __init__(self):
    self.var = '小强'

# 获取操作的方法 ___get__
def fget(self):
    # 返回值前处理数据
    result = self.var[0] + '*' + self.var[-1]
    return result

# 设置操作的方法 __set__
def fset(self, value):
    # 设置值(本例没有做其他处理)
    self.var = value

# 删除操作的方法__delete__
def fdelete(self):
    # 判断是否能删除用户名
    if self.isdelname == True:
        del self.var

# 将成员属性交给描述符操作
username = property(fget, fset, fdelete)  # 注意:三个变量的顺序是固定的

# 以下是测试

实例化对象

e = Email()

获取属性

print(e.username)

设置属性

e.username = ‘打不死的小强’
print(e.username)

删除属性

del e.username
print(e.username)

修饰器

def hello(fn):
def wrapper():
print(“hello, %s” % fn.name)
fn()
print(“goodby, %s” % fn.name)

return wrapper

@hello
def foo():
print(“i am foo”)

foo()

修饰器

def sit(dog):
def roller():
print(" is now sitting,%s" % dog.name)
dog()
print(“is now roller,%s” % dog.name)

return roller

@sit
def dog_dectorater():
print(“your is dog”)

dog_dectorater()


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值