Python Learning Note Day 09
今天是Python学习第九天,今天事情较多,所以学习时间少了一些。
今天主要是看另一本书:Python基础教程(第3版) (个人觉得这一本对基础部分讲的更详细),想通过这本书把基础部分没学到的东西补充一下。今天主要看了两章:基础知识,列表和元组。这两章看下来个人觉得收获比较多的是一些新的Python函数,序列的一些方法。这些都是上一本书中没有提到的,个人感觉这部分也很重要。
第一章补充知识:
1. Unicode、bytes和bytearray
每个Unicode字符都用一个码点(code point)表示,而码点是Unicode标准给每个字符指定的数字。
Unicode字符的通用机制:使用16或32位的十六进制字面量(分别加上前缀\u或\U)或者使用字符的Unicode名称(\N{name})。
Python提供了bytearray,它是bytes的可变版。从某种意义上说,它就像是可修改的字符串——常规字符串是不能修改的。
2. 新函数
函 数 | 描述 |
---|---|
abs(number) | 返回指定数的绝对值 |
bytes(string, encoding[, errors]) | 对指定的字符串进行编码,并以指定的方式处理错误 |
cmath.sqrt(number) | 返回平方根;可用于负数 |
float(object) | 将字符串或数字转换为浮点数 |
help([object]) | 提供交互式帮助 |
input(prompt) | 以字符串的方式获取用户输入 |
int(object) | 将字符串或数转换为整数 |
math.ceil(number) | 以浮点数的方式返回向上圆整的结果 |
math.floor(number) | 以浮点数的方式返回向下取整的结果 |
math.sqrt(number) | 返回平方根;不能用于负数 |
pow(x, y[, z]) | 返回x的y次方对z求模的结果 |
print(object, ...) | 将提供的实参打印出来,并用空格分隔 |
repr(object) | 返回指定值的字符串表示 |
round(number[, ndigits]) | 四舍五入为指定的精度,正好为5时舍入到偶数 |
str(object) | 将指定的值转换为字符串。用于转换bytes时,可指定编码和错误处理方式 |
第二章补充知识:
1. 切片可以指定步长
步长不能为0,否则无法向前移动,但可以为负数,即从右向左提取元素。
# 切片可以指定步长 # 例如可以只取列表中的奇数部分(步长为2) number=[1,2,3,4,5,6,7,8,9] print(number[::2]) # 步长不能为0,否则无法向前移动,但可以为负数,即从右向左提取元素。 print(number[::-2])
2. 可使用加法运算符来拼接序列
一般而言,不能拼接不同类型的序列。
number_2=[10,11,12,13,14,15] print(number+number_2) # print(number+'hello')
3. 将序列与数x相乘时,将重复这个序列x次来创建一个新序列
# 将序列与数x相乘时,将重复这个序列x次来创建一个新序列 print('fyx'*34) print(number*3) print([2]*3) print(['fyx']*34) print(['']*4) print([None]*5)
4. 给切片赋值
# 给切片赋值 lists=list('Perl') lists[1:]='ython' print(lists) lists[1:3]=[]# 等同于lists[1:3] print(lists)
5. 使用切片赋值还可在不替换原有元素的情况下插入新元素。
# 使用切片赋值还可在不替换原有元素的情况下插入新元素。 number=[1,5] number[1:1]=[2,3,4] print(number)
6. 列表操作的各种方法
# append # 方法append用于将一个对象附加到列表末尾。 # 方法clear就地清空列表的内容。 lst = [1, 2, 3] lst.clear() print(lst) # copy # 这类似于使用a[:]或list(a),它们也都复制a。 a = [1, 2, 3] b = a.copy() b[1] = 4 print(a) # count # 方法count计算指定的元素在列表中出现了多少次。 lsts=[1,2,3,4,[1,[2,1]],3,[2,1],1,1,3,4] print(lsts.count([2,1])) # extend # 方法extend让你能够同时将多个值附加到列表末尾 # 用+拼接得到的是一个全新的list # 用extend会直接改变使用extend的list a=[1,2,3] b=[4,5,6] print(a+b) print(a) a.extend(b) print(a) # index # 方法index在列表中查找指定值第一次出现的索引。 number=[0,3,2,1,4,5,6,7,1,2] print(number.index(1))# 3 # insert # 方法insert用于将一个对象插入列表。 # pop # 方法pop从列表中删除一个元素(末尾为最后一个元素),并返回这一元素。 # 注意 pop是唯一既修改列表又返回一个非None值的列表方法。 # push和pop是大家普遍接受的两种栈操作(加入和取走)的名称。Python没有提供push,但可 # 使用append来替代。方法pop和append的效果相反,因此将刚弹出的值压入(或附加)后,得到的 # 栈将与原来相同。 x=[1,2,3,4] x.append(x.pop()) print(x) # remove # 方法remove用于删除第一个为指定值的元素。 # remove是就地修改且不返回值的方法之一。不同于pop的是,它修改列表,但不返 # 回任何值。 lists=['be','c','be'] lists.remove('be') print(lists) # reverse # 方法reverse按相反的顺序排列列表中的元素。 # 注意到reverse修改列表,但不返回任何值(与remove和sort等方法一样)。 lists=[1,2,3,4] lists.reverse() print(lists) # sort # 方法sort用于对列表就地排序。就地排序意味着对原来的列表进行修改,使其元素按顺序 # 排列,而不是返回排序后的列表的副本。 lists=[1,2,5,7,8,3,6,9] lists.sort() print(lists) lists.sort(reverse=True) print(lists) x = [4, 6, 2, 1, 7, 9] y = x.sort() # Don't do this! print(y)# none x=[1,2,7,4,6,5,3] y=sorted(x,reverse=True) print(x) print(y)
7. 创建只有一个值的元组
# 创建只有一个值的元组 a=(42) b=(42,) print(a) print(b) # 42和(42)等效,要创建只有一个值的元组就必须要在值后面加一个,
8. 函数tuple()
# 函数tuple的工作原理与list很像:它将一个序列作为参数,并将其转换为元组①。如果参数 # 已经是元组,就原封不动地返回它。 a=[1,2,3,4] b=(1,2,3) c=tuple(a) d=tuple(b) print(c) print(d)
9. 新函数
函数 | 描述 |
---|---|
len(seq) | 返回序列的长度 |
list(seq) | 将序列转换为列表 |
max(args) | 返回序列或一组参数中的最大值 |
min(args) | 返回序列和一组参数中的最小值 |
reversed(seq) | 让你能够反向迭代序列 |
sorted(seq) | 返回一个有序列表,其中包含指定序列中的所有元素 |
tuple(seq) | 将序列转换为元组 |
感觉还要补充的很多,继续加油!
版权声明:
作者:Kiwi
链接:https://www.qingwei.tech/programe-develops/917.html
来源:清渭技术小站
文章版权归作者所有,未经允许请勿转载。
共有 0 条评论