关于Python之路:Python之路day07数据类型补充编码补充

前言时刻:讲的不多,简直就是对之前讲的数据结构的各种补充, 来来总结一波: 学习了str、元组、列表、字典的补充用法以及Python的编码方式。 元组:count、index用法 列表:index、sort、reverse、加法、乘法 str:find、count、title、capitalize、center 字典:update(更新合并)、fromkeys、 1、补充我在想要不要把明天写的内容总结到之前写的呢,算了,等会写完之后,把之前的写的给欠缺下。 1.1、字符串用法补充str.count()、str.find()、str.capitalize()、str.center、str.title() 也没啥好多介绍的,看例子就ok了。 st1 = "zhangzhzh-cn" print(st1.count("zh")) # 3 返回要查问的字符串的数量print(st1.find('a')) # 2 返回第一个找到的索引号# 2、场景2st2 = "zHanG"print(st2.capitalize()) # 首字母大写,其余均小写print(st2.center(10, "&")) # &&zHanG&&& 居中显示,补齐10位,其余用"&"填充# 3、场景3 题目st3 = "i loVe my country"print(st3.title()) # I Love My Country 每个单词的首字母大写print(st3.swapcase()) # I LOvE MY COUNTRY 大小写翻转1.2、列表的补充用法lis.count()、lis.index()、lis.reverse()、lis.sort() 持续看例子,一看就会,这种根底的货色,就是多敲多记,等用到了就很不便了。 lis = [1, 5, 2, 8, 4, 1]# 1、翻转列表# sort reverse 默认就是False 是从小到大进行排列。True 则从大到下排列lis.sort(reverse=False) # [1, 1, 2, 4, 5, 8]lis.reverse() # [8, 5, 4, 2, 1, 1] 翻转列表# 2、索引print(lis.count(1)) # 2 返回成员的个数print(lis.index(2)) # 2 返回元素的索引# 3、相加 乘print(lis*2) # [8, 5, 4, 2, 1, 1, 8, 5, 4, 2, 1, 1]lis2 = [666, 888]print(lis+lis2) # [8, 5, 4, 2, 1, 1, 666, 888]1.3、元组的补充这外面须要留神的是,元组只有一个成员时,有逗号和没有逗号是不一样的,具体可看上面的例子。 ...

April 15, 2021 · 1 min · jiezi

关于Python之路:Python之路day06深浅拷贝isid代码块缓存

前言时刻感觉好快呀,人不知;鬼不觉曾经到了第6天,就有一个感觉就是,看视频很爽,然而写总结+代码就累。所以就能够看出一个问题,总结是很有用的。 不说了,当初都快9点了,博客还没写,放松写,要睡觉了。 总结总结: 明天学习了代码块、Python 的缓存机制、深浅拷贝。其中深浅拷贝是最重要的。 1、代码缓存机制Python 的代码缓存机制超级重要,对了解深浅拷贝至关重要。Python 的代码缓存机制个别有两种形式,一种是同一代码块中,另一种是不同代码块中。 同一代码块:指的的是一个模块、一个文件、一个类都能够叫做同一代码块。其缓存指的是所有整数、布尔值、以及简直全副的字符串,只有值雷同,就不在反复创立存储空间。 # 1、同一代码块中# 字符串name = "wang"name2 = "wang"# 整数age = 18age2 = 18# 布尔is_study = Trueis_study2 = Trueprint(name is name2) # Trueprint(age is age2) # Trueprint(is_study is is_study2) # True从下面能够看出,所有的int、bool以及简直所有的字符串都做了缓存优化。除了这三种其余的数据类型均不进行缓存。 不同代码块:个别称之为小数据池,比方你在终端中敲的一行一行的代码,就属于不同代码块。缓存从-5~255的整型、bool、以及满足条件的字符串。 在前面的深浅拷贝,你就会深刻理解缓存机制。 1.1、id 函数id 是取出存储数据的内存地址号 # 1、id是取出存储数据的内存地址号age = 18name = "zhang"print(id(name)) # 140360327550384print(id(age)) # 45483614081.2 、is 的作用# 2、is 的作用是判断两者的内存地址是否雷同。能够认为是 id name2 = namename3 = "zhang"print(name2 is name) # Trueprint(name3 is name) # Trueprint(name3 == name) # True"""1、解释下为什么name3和name的存储地址一样呢?起因就是Python的缓存机制,在同一代码块下,int 、bool、大部分的str,变量的值雷同的话,都是指向同一个存储地址上。说白了就是节俭开销。而name2和name雷同,属于浅拷贝,不难理解,相当于是援用。2、== 的作用是?== 是判断两端的数据是否雷同,而is是判断存储数据的地址是否一样(地址一样,数据是必然一样的)。"""1.4 == 的作用== 是判断两端的数据值是否雷同,而 is 是判断存储数据的存储地址是否一样(地址一样,数据是必然一样的)。 ...

April 15, 2021 · 2 min · jiezi