python类定义

python 类有类方法、实例方法、静态方法、类数据属性(类变量)和实例数据属性(实例变量)。
静态方法: 用 @staticmethod 装饰的不带固定参数的方法叫做静态方法,类的静态方法可以没有参数,可以被类名或对象名调用。
实例方法: 默认有个 self 参数,且只能被对象调用。
类方法: 默认有个 cls 参数,可以被类和对象调用,需要加上 @classmethod 装饰器。
类变量:在类方法外定义的属性。
实例变量:__init__内定义的属性。
类属性:包括类方法和类变量,可以通过类或实例来访问,只能通过类来修改。
实例属性:包括实例方法和实例变量类属性定
义参考示例:

#!/usr/bin/python3


class TestCla:
    addr = '江西抚州'
    __sex = '男'
    
    def __init__(self,name,age):
        self.__name = name
        self.age = age

    def output(self):
        print('name:',self.__name)
        print('age:',self.age)
        print('addr:', self.addr)

    def __outSex(self):
        print('sex:', self.__sex)
	
	@classmethod
    def class_method(cls):
        pass

    @staticmethod
    def static_method():
        pass
    
    
a = TestCla('huihui',23)

类定义解析:
1、类名一般约定用大写字母开头,函数则用小写字母开头,以做区分;
2、类属性定义可分两种:1)单独声明为类变量,类似 addr 和 __sex 的定义;2)在 init 函数中直接初始化的为实例变量,类似 __name 和 age ;
3、定义一个私有属性直接定义属性名即可,定义私有属性则在属性名前加双下线,声明公有私有方法同理;
4、python 风格问题:类定义声明跟结束前空2行,方法声明前空1格,也进行忽略:进入 File –>Settings–>Editor–>Inspections–>Python–>PEP 8 naming convention violation ;
在右下角有一个 Ignored errors 列表控件,添加

code    sample message
N801    class names should use CapWords convention
N802    function name should be lowercase
N803    argument name should be lowercase
N804    first argument of a classmethod should be named 'cls'
N805    first argument of a method should be named 'self'
N806    variable in function should be lowercase

N811    constant imported as non constant
N812    lowercase imported as non lowercase
N813    camelcase imported as lowercase
N814    camelcase imported as constant
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值