python初学 类以及装饰

今天主要介绍的知识点为Python的类与装饰

1.装饰

1.1 未加装饰的例子

	#肥牛
	def feiniu(n):
    	    print("肥牛:¥22")
    	    return n+22

	#双拼
def shuangpin(n): 
  	    print("双拼:¥20")   
    	    return n+20

	#锅底
	def guodi():
    	    print("锅底:¥14")
    	    return 14
	print("共消费"+str(shuangpin(feiniu(guodi()))))

	代码的运行结果:
	锅底:¥14
	肥牛:¥22
	双拼:¥20
	共消费56

这段代码虽然可以将这三个菜品输出,并计算出他的结果,但是套餐的搭配太过于死板,并不实用。

这时就可以用到我们的python装饰。

1.2

装饰的关键字就是@

	import types  #因为之后要运用这个types去做方法的判断,所以要导包

	#肥牛
def feiniu(n):  
    	    print("肥牛:¥22")    
    	    if type(n)==types.FunctionType:   #需要嵌套调用,传进的参数却变成了函数,所以在进入函数的时候						      #要用if判断传进来的参数的类型
            	return n()+22
            return n+22
	#双拼
def shuangpin(n):
    	    print("双拼:¥20")
            if type(n)==types.FunctionType:   #同上	
            	return n()+20
            return n+20

	#锅底
	@feiniu           运用装饰,肥牛
	@shuangpin	  运用装饰,双拼
	def guodi():    
    	    print("锅底:¥14")    
            return 14
	print("共消费:"+str(guodi))
	代码的运行结果:
	锅底:¥14
	肥牛:¥22
	双拼:¥20
	共消费56
加完装饰后,就可以很好的解决了传统模式所不能达到的效果。

2.类
2.1 Python定义类的方式
	声明类的方式:class 类名


2.2   定义类于方法的示例

class person:
    name="李四"
    __myname=None  #在属性前加上__相当于私有化了这个属性。

    def __init__(self,myname,name):   #python的self是于java中的this意义差不多,但是self必须声明在参数中
        self.name=name
        self.__myname=myname
        print(self.__myname)

    def show(self):
        p.__aa()
        print(self.name)

    def __aa(self):
        print("吃饭ing")

p=person("张三","王五")
p.show()
print(p.name)
	输出结果:
	李四
	吃饭ing
王五 王五
Python的类对于学过JAVA的人来说比较简单,因为他与JAVA的定义方式大致相同,只是需要注意一些细节。
	1.python对于类没有访问修饰符的概念
	2.对于JAVA中的this关键字与Python的self关键字一样,只是self需要在方法的参数中声明,否则会报错。

         3.还有一点就是对于对象的调用,Python是不需要new这个关键字的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值