跟我一起学python-对象
什么是对象
在python的世界中,万物皆对象! - -构造的任何类型的值都是一个对象.
python对象
- 可变对象
- 不可变对象
可变对象和不可变对象
不可变对象:指该对象所指向的内存中的值不可被改变。由于不可变对象的值不可改变,因此会复制一份新的值,另开辟新的地址。
可变对象:顾名思义就是对象指向内存的值可以不被改变。
-
不可变对象
- numbers
数值
- strings
字符串
- tuples
元组
- numbers
-
可变对象
- list
列表
- dictionary
字典
- sets
集合
- list
a = 10
print(id(a))
a = 11
print(id(a))
4476586576
4476586608
对象三大要素
- id
标始
- type
类型
- val
值
几种常见的对象
类对象
# 类对象
class Dog():
pass
实例对象
# 实例对象
petter = Dog()
函数对象
# 函数对象
def say_hello():
print("hello")
fun1 = say_hello
print("fun_id:"+str(id(fun1)))
print("fun_type:"+str(type(fun1)))
fun_id:4551602528
fun_type:<class 'function'>
可迭代对象
可迭代对象是能够实现
iter()
和next()
方法的对象。迭代对象调用next方法时,会返回下一个值。
# 可迭代对象
from collections import Iterable
# 判断一个对象是否是可迭代对象
print(isinstance("ABCDE", Iterable))
print(isinstance(1, Iterable))
print(isinstance([1, 2, 3], Iterable))
print(isinstance(range(5), Iterable))
True
False
True
True
变量
作用:用来存储对象的
varName = value
a = 3
赋值
对象赋值有很多种方式
简单赋值
顾名思义 直接赋值
a = 10
b = a
链式赋值
连续赋值
a=b=c=1
复合赋值
用到复合运算符 的赋值
a = 10
a +=1
a -=1
a *=1
a /=1
a //=2
a %=1
a **=1
序列解包赋值
序列解包,用于将一个序列或者如何可迭代对象解包.
并将得到的值赋值对应的一系列对象。
a, b = "jk"
print(a, b)
a, b, c = (1, 2, 3)
print(a, b, c)
j k
1 2 3
a, *b = [5, 6, 7, 8, 9]
print(a, b)
5 [6, 7, 8, 9]
变量删除
通过
del
语句可以删除 对象
a = 10
del a