刻意练习Python DAY13

魔法方法和模块

1.魔法方法关于属性访问的应用

>>> class C:
	def __init__(self,size=10):
		self.size=size
	def getSize(self):
		return self.size
	def setSize(self,value):
		self.size=value
	def delSize(self):
		del self.size
	x=property(getSize,setSize,delSize)

	
>>> 
>>> c=C()
>>> c.x=1
>>> c.x
1
>>> c.size
1
>>> del c.x
>>> c.size
Traceback (most recent call last):
  File "<pyshell#17>", line 1, in <module>
    c.size
AttributeError: 'C' object has no attribute 'size'
>>> class C:
	def __getattribute__(self,name):
		print('getattrbute')
		return super().__getattribute__(name)
	def __getattr__(self,name):
		print('getattr')
	def __setattr__(self,name,value):
		print('setattr')
		super().__setattr__(name,value)
	def __delattr__(self,name):
		print('delattr')
		super().__delattr__(name)

		
>>> 
>>> 
>>> c=C()
>>> c.x
getattrbute
getattr
>>> c.x=1
setattr
>>> c.x
getattrbute
1
>>> del c.x
delattr

2.描述符:将某种特殊类型的类的实例指派给另一个类的属性。
3.模块:
导入模块

def c2f(cel):
    fah=cel*1.8+32
    return fah


def f2c(fah):
    cel=(fah-32)/1.8
    return cel


import temperature as tc

print ('32摄氏度=%.2f华氏度'%tc.c2f(32))
print ('99华氏度=%.2f摄氏度'%tc.f2c(99))


==
32摄氏度=89.60华氏度
99华氏度=37.22摄氏度

4.if name== ‘main

def c2f(cel):
    fah=cel*1.8+32
    return fah


def f2c(fah):
    cel=(fah-32)/1.8
    return cel

def test():
    print('测试,0摄氏度=%.2f华氏度'%c2f(0));
    print('测试,0华氏度=%.2f摄氏度'%f2c(0));


test()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值