Python—基础

Python:
    不可变的对象:Numeber数字、String字符串、Tuple元组

      可变的对象:List列表、Set集合、Dict字典

    可迭代的对象:列表、元组、字典、集合。——enumerate等循环可迭代。

初始化:元组 a=(),单个元素时注意逗号 a=(1,)

       列表  a=[]

       集合  a=set()

       字典  a={}

数组和列表的区别:

数组内的数据类型必须一样,列表内的数据类型可以不一样。
相对于数组,列表会使用更多的存储空间
列表和元组的区别:

1、列表是可变的(动态数组),元组是不可变的(静态数组)。

    相对于 list 而言,tuple 是不可变的,这使得它可以作为 dict 的 key,或者扔进 set 里,而 list 则不行。

tuple 放弃了对元素的增删(内存结构设计上变的更精简),换取的是性能上的提升:创建 tuple 比 list 要快,存储空间比 list 占用更小。所以就出现了“能用 tuple 的地方就不用 list”的说法。

多线程并发的时候,tuple 是不需要加锁的,不用担心安全问题,编写也简单多了。

列表和集合的区别:

集合是可以去重的,不允许重复项,列表可以有重复项。
集合是无序的,不可以索引切片,列表可以索引切片。
集合和字典的区别:

两者都是无序的,不可索引切片。
字典的遍历:

for k, v in dict_s.items():
    
字典转列表:

list_s = list(dict_s.items())
字符串的拼接:直接用 + 

                

   list_s = [('a', 2), ('b', 3)] 
   res = ''
   while list_s: 
       tmp = list_s.pop(0)
        res += tmp[0]*tmp[1]
    print(res)   #输出 "aabbb"


__new__ 是在实例创建之前被调用,然后返回实例对象,是静态方法(属于类),需要返回值。

__init__  是实例对象创建后调用的,初始化类实例,是实例方法。(不需要返回值)。

对于不可变数据类型,如数字、字符串、元组

        a= 5 后再 a=10,不会更改a对象指向的内存块的值,而是重新开辟一个值对象10的内存块,让a指向10,而放弃值对象5的内存块。

import copy

a=[1, 2, [3, 4]]

直接赋值: b = a

浅拷贝: c = copy.copy(a) ,拷贝父对象,不会拷贝对象嵌套的子对象。

深拷贝:d = copy.deepcopy(a)。递归拷贝,完全拷贝父对象和其子对象。
 

index():

append():

extend():

pop()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值