[TOC]
>[success] # 字符串类型
~~~
1.str,python当中凡是用引号引起来的都是字符串,用三引号引起来的是换行字符串
2.可相加:字符串的拼接。
3.可相乘:str * int
~~~
>[danger] ##### 案例
~~~
name = "wang"
names = """
wang,
chun
"""
name_add = "wang"+"chun"
name_copy = "wang" * 3
print(name)
print(names)
print(name_add)
print(name_copy)
打印结果:
wang
wang,
chun
wangchun
wangwangwang
~~~
>[success] # 字符串方法
~~~
1.capitalize 首字母大写
2.upper 全部大写
3.lower 全部小写
4.swapcase翻转大小写
5.title 隔开的首字母大写
6.startswith 判断以什么开头三个参数
7.endswith判断以什么结尾三个参数
8.find 找到字符串中位置(三个参数可以指定位置)
9.index 找到字符串中位置(和find不同找不到报错)
10.sprit 去空格
11.count 计数出现的频率
12.split 切割字符串
13.format字符格式化输出
14.replace 替换
15.长度len()
~~~
>[danger] ##### capitalize 首字母大写
~~~python
s = "this Is Capitalize Function"
print(s.capitalize())
打印结果:
This is capitalize function
~~~
>[danger] ##### upper 全部大写
~~~
s = "this Is Capitalize Function"
print(s.upper())
打印结果:
THIS IS CAPITALIZE FUNCTION
~~~
>[danger] ##### lower 全部小写
~~~
s = "THIS IS CAPITALIZE FUNCTION"
print(s.lower())
打印结果:
this is capitalize function
~~~
>[danger] ##### casefold 把所有变小写
~~~
# 和lower 的区别,lower只能针对英文ASCII码变小写,casefold可以针对任何语言
s = "THIS IS CAPITALIZE FUNCTION"
print(s.casefold())
打印结果:
this is capitalize function
~~~
>[danger] ##### swapcase翻转大小写
~~~
s = "this Is Capitalize Function"
print(s.swapcase())
打印结果:
THIS iS cAPITALIZE fUNCTION
~~~
>[danger] ##### title 隔开的首字母大写
~~~ python
# 空格隔开的字母首位大写
s = "this*is1capitalize function"
print(s.title())
打印结果:
This*Is1Capitalize Function
~~~
>[danger] ##### istitle 判断是否为标题就是每个首字母是否大写
~~~
test = "Return True if all cased characters in S are uppercase and there is"
v = test.istitle()
print(v)
打印结果:
False
~~~
>[danger] ##### startswith 判断以什么开头三个参数
~~~
1.判断以什么开头,是返回True 否返回Flase
2.指定位置,判断开头位置
~~~
~~~
s = "this Is Capitalize Function"
print(s.startswith('th'))
print(s.startswith('l'))
print(s.startswith('Ca', 8, 11))
打印结果:
True
False
True
~~~
>[danger] ##### endswith判断以什么结尾三个参数
~~~
1.判断以什么结尾,是返回True 否返回Flase
2.指定位置,判断结尾开始位置,末尾从1开始
~~~
~~~
s = "this Is Capitalize Function"
print(s.endswith('on'))
print(s.endswith('l'))
print(s.endswith('tio', 4, -1))
打印结果:
True
False
True
~~~
>[danger] ##### find 找到字符串中位置(三个参数可以指定位置)
~~~
1.查询字符串的位置,查到返回第一个查询到位置数字,不存在返回-1
2.默认从左开始查询,使用rfind从右开始查询
~~~
~~~
s = "this Is Capitalize Function"
print(s.find('s'))
print(s.find('1'))
打印结果:
3
-1
~~~
>[danger] ##### index 找到字符串中位置(和find不同找不到报错)
~~~
1.默认从右开始查询,使用rindex从右开始查询
~~~
~~~
s = "this Is Capitalize Function"
print(s.index('s'))
print(s.index('1'))
打印结果:
3
报错信息
~~~
>[danger] ##### sprit 去空格
~~~
1.只能去掉前后的空格,或者前后的指定字符串
2.可以使用lstrip/rstrip 去掉左右的信息
3.默认是去掉一切前后产生空格的例如:还能去掉\n和\t
~~~
~~~
s = " this "
print(s.strip(" t"))
print(s.strip())
print(s.rstrip())
print(s.lstrip())
打印结果:
his
this
this
this
~~~
>[danger] ##### count 计数出现的频率
~~~
s = "this t "
print(s.count("t"))
打印结果:
2
~~~
>[danger] ##### split 切割字符串
~~~
s = "this"
print(s.split("t"))
打印结果:
['', 'his']
~~~
>[danger] ##### 换行分割
~~~
# 只能填写参数True/Flase,分割的效果是是否保留换行
test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines(True)
v1 = test.splitlines(False)
print(v, v1)
打印结果:
['asdfadfasdf\n', 'asdfasdf\n', 'adfasdf'] ['asdfadfasdf', 'asdfasdf', 'adfasdf']
~~~
>[danger] ##### partition 分割字符串
~~~
# 只能分割一次 且包含分割对象
test = "testasdsddfg"
v = test.partition('s')
print(v)
v = test.rpartition('s')
print(v)
打印结果:
('te', 's', 'tasdsddfg')
~~~
>[danger] ##### format字符格式化输出
~~~
s = '我叫{},今年{},爱好{},再说一下我叫{}'.format('太白',36,'girl','太白')
print(s)
name = input('请输入名字:')
s = '我叫{0},今年{1},爱好{2},再说一下我叫{0}'.format(name,36,'girl')
print(s)
name = input('请输入名字:')
s = '我叫{name},今年{age},爱好{hobby},再说一下我叫{name}'.format(age=18,name=name,hobby='girl')
print(s)
打印结果:
我叫太白,今年36,爱好girl,再说一下我叫太白
请输入名字:11
我叫11,今年36,爱好girl,再说一下我叫11
请输入名字:22
我叫22,今年18,爱好girl,再说一下我叫22
~~~
>[danger] ##### replace 替换
~~~
使用 replace() 函数可以进行简单的子串替换。用于替换的新子串,以及需
要替换多少处。最后一个参数如果省略则默认只替换全部例:
~~~
~~~
A = "我想把,逗号,变成句号"
print(A.replace(',','。'))
print(A.replace(',','。',1))
打印结果:
我想把。逗号。变成句号
我想把。逗号,变成句号
~~~
>[danger] ##### 长度len()
~~~
len()获取长度
为了知道字符串,数组,字典等长度,可以使用len()方法例:
A = "一二三四五六七"
print(len(A))
打印结果:
7
~~~
>[danger] ##### 一些对齐操作center()/ljust()/rjust() 居中,左对齐,右对齐
~~~
center()/ljust()/rjust() 居中,左对齐,右对齐
~~~
>[danger] ##### 判断字符串组成
~~~
name='wang123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) #字符串只由数字组成
~~~
>[danger] ##### 常用判断数字 isdecimal
~~~
test = "二" # 1,②
# 只能是十进制的字符串 例如10 ,负数不可以的
v1 = test.isdecimal()
# 跟上面类似,但支持②
v2 = test.isdigit()
# 上面的都支持 额外还支持汉字
v3 = test.isnumeric()
print(v1,v2,v3)
打印结果:
False False True
~~~
>[danger] 判断字符串中是否有制表和换行 isprintable
~~~
# 有就flase 没有就true
test = "oiuas\tdfkj"
v = test.isprintable()
print(v)
打印结果:
False
~~~
>[danger] ##### 判断是否都是空格 isspace
~~~
test = " "
v = test.isspace()
print(v)
打印结果:
True
~~~
>[danger] ##### maketrans -- 替换
~~~
v = "我是你好大家好"
m = str.maketrans("我你", "15")
new_v = v.translate(m)
print(new_v)
打印结果:
1是5好大家好
~~~
>[success] # % 用百分号占位
~~~
1.%s 表示字符串
2.%d 表示数字
3.%% 双百分号可以正常输出一个单%号
~~~
>[danger] ##### 案例
~~~
name = input('请输入姓名')
age = int(input('请输入年龄'))
height = input('请输入身高')
msg = "我叫%s,今年%d 身高 %s 输出一个百分号 %%" %(name,age,height)
print(msg)
打印结果:
我叫wnag,今年12 身高 176 输出一个百分号 %
~~~
- PYTHON-- 基础
- Python -- 变量、常量、注解
- 算数\比较\赋值\逻辑运算符
- Python -- input 控制台用户输入
- Python -- 流程控制/循环语句
- Python -- 切片
- Python -- 数据类型
- 基础数据类型
- int -- 数字类型
- str -- 字符类型
- bool -- 布尔类型
- list -- 列表
- type -- 元祖
- dict -- 字典
- set -- 集合
- Python -- 深浅copy
- Python -- 文件的读写
- Python -- 函数
- 函数 -- 做参数使用
- 函数 -- 闭包
- 函数 -- 生成器
- 函数 -- 列表推导式
- 案例
- 基础案例一
- 基础案例二
- 基础案例三
- COOKBOOK
- LIST、STR、DICT、TUPLE
- LIST - 列表方法总结
- 一、序列拆分成单独变量
- 二、* 妙用
- 三、deque- 双向队列
- 四、求找到最大或最小的N个元素
- 4.1 heapq-- 简单使用
- 五、去重并保持列表顺序不变
- 六、切片slice
- 七、counter 统计序列中元素次数
- 八、itemgetter 列表套着字典排序
- 九、处理大量的列表数据
- 十、随机事件处理列表
- DICT - 字典的总结方法
- 一、defaultdict 解决 KeyError
- 二、OrdereDict有序字典
- 三、zip 和 max/min 比较
- IDCT和LIST- 推导式
- 一、LIST 推导式
- 二、字典推到式
- TUPLE-元组
- 一、命名元组
- STR-字符串
- 一、常见的字符串方法
- 二、字符串拆分
- 三、字符串的位置匹配
- 四、字符串替换
- 五、正则大小写/换行匹配
- 六、对字节类型处理
- 数字、日期、时间处理
- 一、数字的处理
- 二、时间换算
- 2.1 时间运算
- 2.2计算某一时刻上周几的日期
- 2.2对时间转换格式优化
- 迭代器和生成器
- 一、iter 迭代器 使用案例
- 二、生成器 yeild
- 三、构建一个反向迭代方法
- 四、实现反正函数构造
- 五、迭代对象切片/跳过元素
- 六、迭代出所有的组合排列
- 七、索引-值迭代序列化
- 八、zip 同时迭代多个序列
- 九、同时循环多个可迭代对象
- 十、yield from 递归案例
- 十一、合并序列,并按顺序输出
- 十二、使用 iter 替代 while True
- 操作文件
- 一、处理文件路径
- 二、检测文件/获取文件信息
- 函数
- 一、函数基本案例使用
- 二、匿名函数
- 三、回调函数
- 四、闭包实现一个单个方法类
- 五、函数嵌套回调函数
- 类与对象
- 一、str/repr--让类字符串表示
- 二、format -- 格式化类的内容
- 三、with -- 上下文管理类
- 四、创建节省内存的类
- 五、将类里面方法变成属性
- 六、调用父类方法
- 七、扩展子类中的属性
- 八、创建新的类或者实类属性
- 九、简化数据结果,简化init
- 十、python 接口写法
- 十一、通过类属性创建委托访问
- 十二、__new__重新初始化init
- 十三、通过字符串调用类
- 元编程
- 一、装饰器
- 1.1 去掉装饰器修饰
- 1.2 可接受参数装饰器
- 1.3利用装饰器对函数参数类型检查
- 1.4编写类装饰器
- 1.5为类方法和静态方法加装饰器
- 1.6通过装饰器给装饰函数加参数
- 线程和进程