python笔记-基础7

python基础7

  1. 基础数据str类型的补充
1. capitalize() :首字母大写,其他都是小写
-------------------------
s = "hello World!"
print(s.capitalize())
结果:
Hello world!
-------------------------
2. title():每个单词首字母大写
-------------------------
s = "hello World!"
print(s.title())
结果:
Hello World!
-------------------------
3. swapcase():大小写翻转
-------------------------
s = "hello World!"
print(s.swapcase())
结果:
HELLO wORLD!
-------------------------
4. center(length,seq):居中填充字符串,length可以指定字符串总长度,seq指定当原字符串不满足长度时用于填充的字符。
-------------------------
s = "hello World!"
print(s.center(20, '*'))
结果:
****hello World!****
-------------------------
5. index(s):通过字符s返回索引,如果s不存在则会报错
-------------------------
s = "hello World!"
print(s.index('ll'))
print(s.index('ly'))
结果:
2
ValueError: substring not found
-------------------------
6. find(s):通过字符s返回索引,如果s不存在则返回-1
-------------------------
s = "hello World!"
print(s.find('ll'))
print(s.find('ly'))
结果:
2
-1
  1. 基础数据类型list
1. sort():对列表中元素进行排序,默认顺序为从小到大,可以指定reverse=True,为从大到小
---------------------------
l1 = [1, 2, 33, 4, 5]
l1.sort()
print(l1)
l1.sort(reverse=True)
print(l1)
结果:
[1, 2, 4, 5, 33]
[33, 5, 4, 2, 1]
---------------------------
2. reverse():将元素的排序翻转过来
---------------------------
l1 = [1, 2, 33, 4, 5]
l1.reverse()
print(l1)
结果:
[5, 4, 33, 2, 1]
---------------------------
3. index():通过元素获取索引
---------------------------
l1 = [1, 2, 33, 4, 5]
print(l1.index(1))
l1 = [1, 2, 33, 4, 5]
print(l1.index(133))
结果:
0
ValueError: 133 is not in list
4. 列表的拼接
---------------------------
l1 = [1, 2, 33, 4, 5]
l2 = [1, 2, 2]
print(l1 + l2)
结果:
[1, 2, 33, 4, 5, 1, 2, 2]
---------------------------
5. 多次输出列表
---------------------------
l2 = [1, 2]
print(l2*3)
结果:
[1, 2, 1, 2, 1, 2]
---------------------------
6. 列表的一个特性:
当对列表进行循环时,如果改变列表的大小即删除或者插入元素,列表中元素的索引会发生变化,如果删除某一元素,此元素后的所有元素索引位置都会向前进一位。
**循环一个列表时,最好不要改变列表的大小,否则可能会影响最终的结果
  1. 基础数据类型tuple的补充
1. 单个元素列表的创建
tuple = (value,)
---------------------------
tu1 = (1)
tu2 = (1,)
print(tu1, type(tu1))
print(tu2, type(tu2))
结果:
1 <class 'int'>
(1,) <class 'tuple'>
---------------------------
2. index():通过元素找索引,如果元素不存在则会报错
  1. 基础数据类型字典的补充
1. update():字典的update函数可以用于新增、修改、合并两个字典
---------------------------
dic = {'k1': '太白', 'k2': 'barry', 'k3': '白白', 'age': 18}
dic.update(k4='lisa')
print(dic)
dic.update([('k6', 'lucy'), ('k7', 'lily')])
print(dic)
dic.update(k1='太白金星')
print(dic)
dic1 = {'k5': 46, 'k6': 48}
dic.update(dic1)
print(dic)
结果:
{'k1': '太白', 'k2': 'barry', 'k3': '白白', 'age': 18, 'k4': 'lisa'}
{'k1': '太白', 'k2': 'barry', 'k3': '白白', 'age': 18, 'k4': 'lisa', 'k6': 'lucy', 'k7': 'lily'}
{'k1': '太白金星', 'k2': 'barry', 'k3': '白白', 'age': 18, 'k4': 'lisa', 'k6': 'lucy', 'k7': 'lily'}
{'k1': '太白金星', 'k2': 'barry', 'k3': '白白', 'age': 18, 'k4': 'lisa', 'k6': 48, 'k7': 'lily', 'k5': 46}
---------------------------
2. fromkeys(interable,default_value):批量增加值相同的键值对
---------------------------
dic = dict()
l1 = [1, 2, 3, 4]
dic = dic.fromkeys(l1, [])
print(dic)

dic.get(1).append(100)
print(dic)
结果:
{1: [], 2: [], 3: [], 4: []}
{1: [100], 2: [100], 3: [100], 4: [100]}
  1. 数据类型的转换:
所有数据类型与bool之间的转换:
1. str ------> bool
非空即true,空为false
2. list --------> bool
空列表为false,非空即true
其他类型同上面两个类型一致,都是非空即true,空为false
3. none为一个特殊的数据类型,转化为bool类型为false
  1. 编码进阶
1. 数据在内存中以Unicode编码,在网络传输和存储上使用非Unicode编码。
2. bytes是一种特殊的数据类型,他在内存中是唯一一种以非Unicode编码的数据类型。
3. bytes类型的说明
--------------------------
content = 'hello'
b = content.encode('utf-8')
print(b)
结果:
b'hello'
--------------------------
content = '中国'
b = content.encode('utf-8')
print(b)
结果:
b'\xe4\xb8\xad\xe5\x9b\xbd'
--------------------------
4. str ------> bytes
--------------------------
content = '中国'
b = content.encode('utf-8')
print(b)
结果:
b'\xe4\xb8\xad\xe5\x9b\xbd'
--------------------------
5. bytes --------> str
b = b'\xe4\xb8\xad\xe5\x9b\xbd'
s = b.decode('utf-8')
print(s)
结果:
中国
6. uft-8 --------> gbk
--------------------------
b = b'\xe4\xb8\xad\xe5\x9b\xbd'
s = b.decode('utf-8')
b = s.encode('gbk')
print(b)
结果:
b'\xd6\xd0\xb9\xfa'
7. gbk ----------> urf-8
--------------------------
b = b'\xd6\xd0\xb9\xfa'
s = b.decode('gbk')
b = s.encode('utf-8')
print(b)
结果:
b'\xe4\xb8\xad\xe5\x9b\xbd'
  1. 编码的理解
除bytes类型外,其他数据类型在内存中的编码方式都是Unicode,它是不能用于网络传输和存储的,想让数据可以在网络中传输,需要将数据类型转化为bytes类型。
改变数据的编码方式,也要通过bytes类型,其他数据类型在内存中的编码都是Unicode,只有bytes类型的编码方式是非Unicode的任意方式。

猜你喜欢

转载自www.cnblogs.com/vvbear/p/12810185.html