问答详情

python对象怎么理解?

461次观看
标签: 对象 python
老师回答

类(class)抽象的概念,比如说人类、鸟类、水果、是一个总的称呼,没有具体到某个物体;

对象(object,指具体实例,instance);

给对象增加一个实例变量

# 增加一个skills实例变量
p.skills = ['programming','writing']
print(p.skills)
#删除p对象的name实例变量,而不是删除类中变量,新建一个对象,name实例变量还是构造函数默认的。
del p.name
# print(p.name) 会报错

 Python 允许通过对象访问类变量 ,但如果程序通过对象尝试对类变量赋值,此时性质就变了一Python 是动态语言,赋值语句往往意味着定义新变量。因此,如果程序通过对象对类变量赋值,其实不是对“类变量赋值”,而是定义新的实例变量 。例如如下程序 。

class Inventory:
    #定义两个变量
    quantity = 2000
    item = '鼠标'
    #定义实例方法
    def change(self,item,quantity):
        self.item = item
        self.quantity = quantity
#创建Inventory对象
iv = Inventory()
iv.change('显示器',500)
#访问iv的item和quantity实例变量
print(iv.item) #显示器
print(iv.quantity) #500
#访问Inventotry的item和quantity类变量
print(Inventory.item) #鼠标
print(Inventory.quantity) #2000

更多Python知识,请关注:Python自学网!!

免费直播

    精选课程
    相关推荐
    python中append()和extend()有什么区别?
    刘老师 Python编程

    python列表中,append()和extend()都可以在在原有列表上增加对象,但是使用起来有很大区别。append()用于在列表末尾添加新的对象,任意对象都是可以的,列表只占一个索引位,会修改原来的列表。extend()向列表尾部追加一个列表,对象必须是一个可以迭代的序列,将列表中的每个元素都追加进来,会在已存在的列表中添加新的列表内容。详情请看本文。

    一、append()

    用于在列表末尾添加新的对象,列表只占一个索引位,在原有列表上增加。

    1、语法

    list.append(obj)

    2、参数obj 

    向列表中添加一个对象obj ,即添加到列表末尾的对象;

    任意对象都是可以的;

    直接将整个obj放入列表末尾。

    3、返回值

    无返回值,但是会修改原来的列表。

    4、使用实例

     lia.append(lib)
     lia>>   ['aa', 1, 'bb', None, ['cc', 2, {'dd': 3}]]

    二、extend() 

    向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加。

    1、语法

    list.extend(seq)

    2、参数seq 

    把一个序列seq的内容添加到列表中,即元素列表;

    对象必须是一个可以迭代的序列;

    将seq打散后依次放入列表末尾。

    3、返回值

    无返回值,但会在已存在的列表中添加新的列表内容。

    4、使用实例

    lia.extend(lib)      不能用变量接收
    
    lia>>  ['aa', 1, 'bb', None, 'cc', 2, {'dd': 3}]

    以上就是python中append()和extend()的对比分析,希望能对你有所帮助哦~

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司