2023年度人气创作者打榜中,快来帮我打榜吧~https://activity.juejin.cn/rank/2023/writer/272334612598664?utm_campaign=annual_2023&utm_medium=self_web_share&utm_source=_%E5%B1%B1%E6%B5%B7

通用基础操作

类型的内置方法

py的数据类型的内置方法统一使用 “句点符“表达。

数据类型.方法名()例:name = 'carmen'name.strip()

用pycharm等开发工具,在编辑处输入 “.” 会有将内置方法联想带出,方便开发
并不是所有的类型都有内置方法

输出类型的函数

type()
功能:数据类型输出
举例:

# 注意以下两者输出的类型不同,前者为int,后者为strprint(type(int(123)))print(type(int('123')))

类型转换函数

功能:实现类型的转换

- int() 转int型- str() 转字符串形- float() 转符点型

字符串操作介绍

类型转换: 置的8点数据类型都可以转为字符串类型,原理就是将所以数据值打上一个引号即可。索引取值

s1 = 'hello carmen!'# 索引取值:单个字符支持负数print(s1[0])# h # 索取第一个值[0]print(s1[-1])# !# 索取最后一个值[-1]print(s1[-2])# n# 索取倒数第二个值[-2]

切片取值

s1 = 'hello carmen!'print(s1[0:3]) # 从索引0的位置开始切到索引2的位置 顾头不顾尾print(s1[-1:-4]) # 切片的顺序默认从左往右print(s1[-1:-4:-1])#!ni 可以通过第三个参数的正负一 控制方向print(s1[-4:-1]) # 顾头不顾尾-------- 控制台输出结果 --------helnemen

在pycharm上创建一个py,试着复制上方的语句试试

间隔/方向

s1 = 'hello carmen!'print(s1[:])# hello carmen! 默认取值所有print(s1[::2])# carmen! 针对整个字符串 隔一个取一个print(s1[0:5:1])# hello 默认1可以不写print(s1[0:5:2])# hlo------------------ 控制台输出 ---------s1 = 'hello carmen!'print(s1[:])# hello carmen! 默认取值所有print(s1[::2])# carmen! 针对整个字符串 隔一个取一个print(s1[0:5:1])# hello 默认1可以不写print(s1[0:5:2])# hlo

统计字符串中字符个数

s1 = 'hello carmen!'# 注意空格也算一个print(len(s1))# 关键字 len

移除字符串首尾指导的字符

count = '??meijin??'print(count.strip('?'))# meijinprint(count.lstrip('?'))# meijin??L消除左边的符号print(count.rstrip('?'))# ??meijinR消除右边的符号

按照指定的字符切割字符串

info = 'jason|123|read' # 当字符串中出现了连续的特征符号 应该考虑使用切割操作res = info.split('|') # 切割字符串之后结果是一个列表print(res, type(res)) # ['jason', '123', 'read'] name, pwd, hobby = info.split('|')# name, pwd, hobby = ['jason', '123', 'read']print(info.split('|', maxsplit=1))# 从左往右 只切一次['jason', '123|read']print(info.rsplit('|', maxsplit=1)) # 从右往左 只切一次['jason|123', 'read']

字符串大小写

s2 = 'hello carmen 666 你给我点个赞啊'print(s2.lower()) # hello carmen 666 你给我点个赞啊print(s2.upper())# HeLLo MEIJIN 666 你给我点个赞啊print(s2.islower())# 判断字符串中所有的字母是否是全小写Falseprint(s2.isupper())# 判断字符串中所有的字母是否是全大写Falseprint('aaa'.islower())# Trueprint('AAA'.isupper())# True

字符串的格式化输出

res1 = 'my name is {} my age is {}'# 方式1: 等价于%s占位 没有什么优势print(res1.format('jason', 18))res2 = 'my name is {0} my age is {1} {0} {1} {1} {1}'# 方式2: 支持索引取值 并且支持重复使用print(res2.format('jason', 18))res3 = '{name} {name} {age} my name is {name} my age is {age}'# 方式3: 支持关键字取值(按k取值) 并且支持重复使用print(res3.format(name='jason', age=18))name = 'jason'# 方式4:推荐使用(******)age = 18print(f'my name is {name} my age is {age} {name} {age}')

统计字符串中指定字符出现的次数

res = 'meijinhaoshuaiawodeouxiangyajiushimeijin'print(res.count('i'))# 字符串中有多少iprint(res.count('a'))# 字符串中有多少a

判断字符串的开头或者结尾

res = 'jason say ha ha ha heiheihei'print(res.startswith('jason'))#True 开头是不是jasonprint(res.startswith('j'))#True 开始字母是不是jprint(res.startswith('b'))#False 开头字母是不是bprint(res.endswith('heiheihei'))#True结尾是不是heihehiehiprint(res.endswith('hei'))#True 结尾是不是heiprint(res.endswith('h'))#False 结尾是不是h

字符串的替换

res = 'carmen carmen carmen SB SB SB'print(res.replace('carmen', 'tony'))# 从左往右全部替换print(res.replace('carmen', 'tony', 1))# 从左往右替换指定1个数# ---控制台输出结果如下--tony tony tony SB SB SBtony carmen carmen SB SB SB

字符串的拼接

res1 = 'hello'res2 = 'world'print(res1 + res2)# 字符串支持加号拼接print(res1 * 10)# 字符串支持乘号重复print(''.join(['hello', 'world', 'hahaha']))# join方法拼接print('|'.join(['hello', 'world', 'hahaha']))# join方法拼接print('$'.join(['carmek', 'say', 666]))# 列表中的数据都必须是字符串类型报错!!!

判断字符串中是否是纯数字

print('123'.isdigit())# Trueprint('123a'.isdigit())# Falseprint(''.isdigit())# False

查找某个字符对应的索引值

res = 'hello world jason'print(res.index('d'))# 10print(res.find('d'))# 10'''index查找索引 如果没有则报错'''# print(res.index('d',0,5))'''find查找索引 如果没有则返回-1'''print(res.find('d', 0, 5))# -1

列表 list

数据类型转换

print(type(list(123)))# 整型print(type(list(123.22)))# 浮点型print(type(list('123243jasdsad')), list('123243jasdsad'))# 字符串print(type(list({'name': "jason", 'pwd': 123})), list({'name': "jason", 'pwd': 123}))# 字典

索引取值

l1 = ['jason', 'kevin', 'oscar', 'tony']print(l1[0])# 取第一个值print(l1[-1])# 去倒数第一个值同理列表

切片操作

l1 = ['jason', 'kevin', 'oscar', 'tony']print(l1[0:3])# 只取三个数据值print(l1[:])# 不输入默认全部print(l1[-4:-1])# 可以反方向取值

间隔/方向

l1 = ['jason', 'kevin', 'oscar', 'tony', 'tom']print(l1[::2])# 各两个数据值取值

统计列表中数据值的个数

l1 = ['jason', 'kevin', 'oscar', 'tony', 'tom']print(len(l1))# 统计l1列