首页 > 编程语言 > 详细

python 中的 @ 符号

时间:2021-07-22 23:38:22      阅读:23      评论: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 版权所有
打开技术之扣,分享程序人生!