Python中Class类学习笔记

        一、零碎技巧

        1.1 class A 和class A(object)区别

        通过python中定义类class A 和class A(object)区别这篇文章可以知道:

object 是指这个类继承的最顶级的对象。
python3.x 中已经可以省略object,两者是等价的;
python2.x 是有功能上的区别的详细参考python的class(类)中的object是什么意思?

        二、class类的学习 

        2.1 简单示例讲解 

'''非常简单的类创建尝试尝试'''
class test:  # 建立一个类,Class是关键词 “test”是类名


    def setage(self, a):  # 这就是类的方法,与函数差不多。在类外是函数,在类内就是方法
        self.age = a

    def getage(self):
        return self.age

'''类的对象创建和使用'''
def case1():

    print(Person.country)
    # print(Person.age) 出错,AttributeError: type object 'Person' has no attribute 'age'
    '''
        类的实例化,即创建对象
        '''
    p1 = Person("tom", 12)
    p1.country = "test"
    Person.country="change:haha"
    print(p1.country, p1.age, p1.name)
    print('私有化属性',p1.getlanguage())
def case2():
    x=1
    y=2
    '''返回的是一个数组'''
    return x,y

        2.2 类属性和对象属性

'''
1.类属性和实例的属性的调用关系
'''

'''
类可以调用类属性,如类.属性,但是类无法调用对象的属性(实例属性)
对象即可以调用类属性,也可以调用实例属性
'''
class Person:
    country ="china"  #类属性
    __language = "Chinese"  # 私有类属性也不能直接外部调用

    '''类的方法在定义时,第一个参数必定是类的对象,这个参数一般默认为self
        这个参数也可以别的名字,但是无轮如何,方法的第一个参数必定被认为是类的对象本身
        '''
    def __init__(self,name,age):
        sex ="男"   #这不是实例属性,只是变量而已,用对象名.sex调不出来。
        '''在init函数中赋值的变量,均是对象的属性,即实例属性'''
        self.name = name #实例属性
        self.age = age
    def getlanguage(self):
        return Person.__language

        值得注意的是:

类属性只能通过类对象来修改,参考python入门学习之类属性、实例属性、类方法、实例方法

实例对象修改的类属性,仅仅是该实例对象下的类属性,如下所示:

class A:
    # 定义类属性
    count = 10


# 通过类来访问
print(A.count)  # 10

a = A()
# 通过类实例来访问
print(a.count)  # 10

# 通过类对象来修改
A.count = 20
print('类对象修改之后的值:', A.count)  # 20
print('类实例修改之后的值:', a.count)  # 20
# 通过类实例来修改
a.count = 30
print('类对象修改之后的值:', A.count)  # 20
print('类实例修改之后的值:', a.count)  # 30

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值