python系列文章目录
python基础(01变量&数据类型&运算符)
python基础(02序列共性)
python基础(03列表和元组)
前言
python最简洁的基础,学完可上手自动化
一、字符串
1.特点
● 有序的
● 不可修改
● 引号包围的序列
2.定义
● 单引号
● 双引号
● 三个单引号或三个双引号
3.注意
● 单引号和双引号可以一起配合使用
● 转义字符\可以定义单引号
● 三引号和非三引号的区别:三引号可以定义带有换行的多行字符串,三引号通常还作为多行注释
● 引号里面的逗号、空格等都算一位
4.方法
(1)字符串格式化
1.%格式化
a='亲爱的%s,您的余额为%f,请充值'//%s 字符串。%f 浮点型 %d整数
b=('佳佳',0.01)
print(a % b)
------------------------------
name = 'xiaoming'
age = '10'
test = '%s is %s years old' % (name, age)
print(test)
----------------------------------------
字典格式也支持
test1 = 'Hello %(name)s,id=%(name)s' % {'id': 10, 'name': 'World'}
print(test1)
2.str.format()
常规用法:
a='亲爱的{},您的余额还剩余{},请充值
print(a.format('jiajia',10.00))//可传多不能传少,传少报错
位置访问:
name = 'xiaoming'
age = '10'
test2 = 'hello, {0}, you are{1}?'.format(name, age
print(test2)a
关键字访问:
name = 'xiaoming'
age = '10'
test3 = 'hello, {name}, you are {age}?'.format(name=name, age=age)
print(test3)
3.f格式化(常用)
name = 'xiaoming'
age = '10'
test4 = f'hi, {name}, are you {age}?'
print(test4)
(2)字符串的拼接:join
a=['1','b','c']
print(''.join(a))
print('*'.join(a))
------------------------>
1bc
1*b*c
1.连接列表成为字符串
2.产生新的字符串,返回值就是这个字符串
(3)字符串的切分
1.split():切分,可以指定切分次数和对象,默认空格切分
a="i am li jia jia"
print(a.split() ) #默认空格切分
print(a.split(' ',2)) #默认制表符切分2次
print(a.split('a')) #以a切分
print(a.split('j',2)) # j切分2次
---------------------------------->>
['i', 'am', 'li', 'jia', 'jia']
['i', 'am', 'li jia jia']
['i ', 'm li ji', ' ji', '']
['i am li ', 'ia ', 'ia']
--------------------------------->>
切分结果是列表
2.splitlines():行切分字符串
注意:以空格为切分符时,不能指定次数
name = 'xiaoming'
age = '10'
test4 = f'hi, {name}, are you {age}?'
print(test4)
(4)字符串的替换
1.replace()
1.从左到右替换指定的元素,可以指定替换的个数,默认是全部替换
2.指定替换个数多余 不报错
>>> a = 'hello boy'
>>> a.replace('o','a')
'hella bay'
>>> a.replace('o','a',1) #指定替换1个
'hella boy'
(5)字符串的查找
● count():计数功能,返回指定字符在字符串当中的个数
● find():查找,返回从左第⼀个指定字符的索引,找不到返回-1
● rfind():查找,返回从右第⼀个指定字符的索引,找不到返回-1
● index():查找,返回从左第⼀个指定字符的索引,找不到报错
● rindex():查找,返回从右第⼀个指定字符的索引,找不到报错
(6)字符串的修饰
● center():字符串在指定⻓度居中,默认以空格填充,也可指定字符填充,左短右⻓
● ljust():字符串在指定⻓度左对⻬,默认以空格填充,也可指定字符填充
● rjust():字符串在指定⻓度右对⻬,默认以空格填充,也可指定字符填充
● zfill():将字符串填充到指定的⻓度,不⾜地⽅⽤0从左开始补充
● format():按照顺序,将后⾯的参数传递给前⾯的⼤括号
● strip():默认去除两边的空格,去除内容可以指定
● lstrip():默认去除左边的空格,去除内容可以指定
● rstrip():默认去除右边的空格,去除内容可以指定
(7)字符串的大小写转
● upper():将字符串当中的所有字⺟转换为⼤写
● lower():将字符串当中的所有字⺟转换为⼩写
● swapcase():将字符串当中的所有字⺟⼤⼩写互换
● title():将字符串中的单词⾸字⺟⼤写,其他字⺟都⼩写(多个单词 多个大写)
● capitalize():将字符串的⾸字⺟⼤写(只有首字母大写,其余全部转化成小写)
(8)字符串的判定
● isalnum():判断字符串是否完全由数字和字⺟组成
● isalpha():判断字符串是否完全由字⺟组成
● isdigit():判断字符串是否完全由数字组成
● isupper():判断字符串是否完全是⼤写/只要字母为大写都true,不管是什么语言的字母
● islower():判断字符串是否完全是小写
判断字符串是否完全是小写
a='jiajia 123 佳佳'
print(a.islower()) #true 字符都为小写即可
● isspace():判断字符串是否完全由空格组成
● startswith():判断字符串的开头字符,可以截取判断/所有都可以以‘’开头 都为true
● endswith():判断字符串的结尾字符,可以截取判断/所有都可以以’'结尾 true
二、字典
1.特点
● 内置的数据结构
● 键值存储(key,value)
2.定义
(1)直接定义
{'zhang':'231','wang':'123'}
(2)dict()函数
>>> items = [('name','zhang'),('age',2)] #列表
>>> d = dict(items) #字典
>>> d
{'age': 2, 'name': 'zhang'}
(3)dict()函数关键词定义
>>> d = dict(name ="zhang",age=2)
>>> d
{'age': 2, 'name': 'zhang'}
3.注意
● 值可以是任何的python对象,键不行,键不可变
● 如果同⼀个键被赋值两次,后⼀个值会被记住
● 键是不可变得,所以数字,字符串或元组可以作为键,⽽⽤列表就不⾏
4.操作
增:
(1)将值赋值到键上面,键不存在自动添加字典中
>>> phonebook['li'] = '888'
>>> phonebook
{'li': '888', 'wang': 666, 'zhang': '231'}
删:
(1)删除某个键
>>> del phonebook['wang']
>>> phonebook
{'zhang': '231','li': '888'}
(2)删除整个字典,删除后,变量也不存在了
>>> del phonebook
>>> phonebook
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'phonebook' is not defined#报错,因为删掉后就不存在了,无法打印
改:
(1)将值赋值到键上,会更改原来的值
>>> phonebook['wang'] = 666
>>> phonebook
{'wang': 666, 'zhang': '231'}
查:
(1)len()
● 返回phonebook中键值对的数量
(2)a[‘键’]
● 返回键值
● 键不存在,报错
(3)检查字典中是否存在某个键
'wang' in phonebook
False
'zhang' in phonebook
True
5.字典格式化字符串
● 在每个转换说明符中的%后加上键(⽤括号),后⾯再跟上其他说明元素。
● 注意说明元素类型必须与 键所对应的值的类型⼀致,否则报错。例如:name是字符串,如果用%d,就会报错
方法一:
dic = {"name":"kunp", "balance":10}
s = "hello %(name)s, you balacne is %(balance)d" % dic
方法二:
s1 = f"hello {dic['name']}, you balacne is {dic['balance']}"
print(s)
6.方法
● clear():清除字典中的所有项,返回None
● copy():返回⼀个具有相同键-值的新字典
● deepcopy():from copy import deepcopy 和列表一致
● fromkeys():使⽤给定的键建⽴新的字典,每个键默认对应的值为 None,可以统一设置默认值,返回值是字典
result = {}.fromkeys(["name","age","gender"],"unknow") #默认值为unknow
result = dict.fromkeys(["name","age","gender"],"unknow")
print(result)
● get():更宽松的访问字典项的⽅法,如果键不存在,返回None
● items():将字典所有项以列表⽅式返回 列表中每⼀项都会表示为(键,值)对的形式,py3中有次序,py3之前没有次序,可以用遍历,类型tuple元组
result = dic.items()
for item in result:
print(type(item), item)
keys(): 将字典中的键以列表形式返回,返回值是dict_keys和键,可进行循环遍历
result = dic.keys()
print(list(result))#需要list转化
● pop():⽤来获得对应的键的值,并删除这对键值对,返回值是键的值
● popitem():删除最后一个键值对,返回值是被删除的键值对
● setdefault():类似于 get ,但对应的值不存在的时候,返回值none,可以指定赋值,返回值是键对应的值
result = dic.setdefault("gender", "M")
print(result,dic)
● update():利⽤⼀个字典更新另外⼀个字典 ,被更新的字典 会加到 原字典中,键相同的话会被覆盖,返回值是none
● values():将字典中的键对应的值以列表的形式返回 ,返回值是dict_values和值, 可对其直接进行循环遍历
总结
理解即可