首页 > 编程语言 > 详细

python 中的 @ 符号

时间:2021-07-22 23:38:22      阅读:29      评论:0      收藏:0      [点我收藏+]

1 . 修饰函数

看装饰器这一节

https://www.cnblogs.com/xumaomao/articles/10984271.html

 

2. @staticmethod

相当于C++里的静态函数

#!/usr/bin/ env python
# -*- coding:utf-8 -*-

class Student(object):
    #类属性
    name = ‘fdzwdt‘
    def __init__(self,name):
        #实例对象属性
        self.name = name
    
    #实例方法,只能由实例对象来调用
    def get_name_ins(self):
        return self.name
    
    #类方法,可以通过类来调用,也可以通过实例对象调用
    @classmethod
    def get_name_cls(cls):
        return cls.name
    
    #静态方法,可以通过类来调用,也可以通过实例对象调用
    #主要功能就是对__init__构造函数进行重载
    @staticmethod
    def get_name_sta(name):
        return Student(name).name
st = Student(‘weidt‘)
print(‘ins_name:‘+st.get_name_ins())
print(‘cls_name:‘+Student.get_name_cls())
print(‘sta_name:‘+Student.get_name_sta(‘wdt‘))

 

3. @classmethod

classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第一个参数需要是表示自身类的 cls 参数,可以来调用类的属性,类的方法,实例化对象等。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
class A(object):
    bar = 1
    def func1(self):  
        print (‘foo‘) 
    @classmethod
    def func2(cls):
        print (‘func2‘)
        print (cls.bar)
        cls().func1()   # 调用 foo 方法
 
A.func2()               # 不需要实例化

输出结果为:

func2
1
foo

 

python 中的 @ 符号

原文:https://www.cnblogs.com/xumaomao/p/15046438.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!