程序本质上就是用于去处理计算机中的数据的流程,计算机里面有图片,视频,文本,音乐等不同类型的数据。在Python中同样对数据进行了划分,正是因为有了各种数据类型,程序才可以“有的放矢”地进行各种不同数据操作而不至于乱套。
不同类型的数据,计算机在底层给存储该数据分配的默认空间是不一样的。拿现实生活来说,我们给手机配一个包装盒绝对不会用鞋盒那么大的盒子,避免浪费资源。
Python3 中有六个标准的数据类型:
Python3 的六个标准数据类型中:
可变与不可变指的是什么我们后面会解析,大家可以先查查资料
在Python中用单引号,或双引号括起来的内容就是字符串。
1、字符串的截取
txt = "不是在最美好的时光遇见你,而是遇见你以后都是最美好的时光"
print(len(txt)) # 内置函数 len() 获取字符串长度
print(txt) # 打印字符串
print(txt[2]) # 获取字符串中的第三个字符
print(txt[0:2]) # 截取字符串索引值为0~1的字符,不包括索引值为2的字符
print(txt[2:5]) # 截取字符串索引值为2~4的字符,不包括索引值为5的字符
print(txt[2:-1]) # 截取字符串重索引值为2开始直到字符串结尾的前一个,-1的索引值表示最后一个
print(txt[2:len(txt)]) # 截取字符串重索引值为2开始直到字符串结尾
print(txt[:4]) # 截取在列表中索引值为0-4的数据,冒号前面不设置参数,默认从0开始,注意截取并不包括4
print(txt[2:]) # 截取在列表中索引值为2-末尾的数据,冒号后面不设置参数,默认截取到最后一位数据,注意截取包括最后一位
print(txt[::-1]) # 从后往前截取所有内容,-1为步长
print(txt[290]) # 下标越界
"""
输出内容:
28
不是在最美好的时光遇见你,而是遇见你以后都是最美好的时光
在
不是
在最美
在最美好的时光遇见你,而是遇见你以后都是最美好的时
在最美好的时光遇见你,而是遇见你以后都是最美好的时光
不是在最
在最美好的时光遇见你,而是遇见你以后都是最美好的时光
光时的好美最是都后以你见遇是而,你见遇光时的好美最在是不
IndexError: string index out of range
"""
2、字符串的运算
# 定义字符串
myStr = "my shenti is rere, my Koudai is kongkong"
print("is" in myStr) # True
print("is" not in myStr) # False
如何在字符串中查找某一个字符或字符串出现的次数,位置,是否某特定字符以及字符串开头,字符串是否为纯数字、字母、包含特殊符号呢?
myStr = "my shenti is Rerere,\n my Koudai ,is kongkong"
myStr.find("is") # 从myStr中查找is,默认从左往右查找,如果找到返回第一次出现的下标,如果不存在返回 -1
myStr.rfind("is") # 从myStr中查找is,右往左查找,如果找到返回第一次出现的下标,如果不存在返回 -1
myStr.index("is") # 从myStr中查找is的下标,默认从左往右,如果找到返回第一次出现的下标,如果找不到就报错
myStr.rindex("is") # 从myStr中查找is的下标,右往左查找,如果找到返回第一次出现的下标,如果找不到就报错
myStr.count("is") # 从myStr中统计is出现的个数,如果存在返回个数,如果不存在返回0
myStr.startswith("hello") # 判断myStr是否以hello开头
myStr.endswith("kongkong") # 判断myStr是否以kongkong结束
# ------- 以下都不是重点
"fdasf".isalpha() # 判断是否是纯字母
"23232".isdigit() # 判断是否是纯数字
"fdaf 13".isalnum() # 判断是否含有特殊字符
myStr.rjust(50) # 将myStr字符串在50长度的空间向右看齐
myStr.ljust(50) # 将myStr字符串在50长度的空间向左看齐
myStr.center(50) # 将myStr字符串在50长度的空间居中显示
3、字符串的替换和分割
myStr = "my shenti is Rerere,\n my Koudai ,is kongkong"
myStr.replace("is", "IS") # 将myStr中所有的is替换成IS,对原来的数据不会产生改变
myStr.split(",") # 将myStr按照","号进行切割成若干个部分
myStr.splitlines() # 将text按照换行符进行切割
name = " 我 的 小 宝 贝 我 的 小 宝 贝1 我 的 小 宝 贝2"
name.partition("小") # 将字符串name按照默认从左往右出现的第一个"小"分割成若干部分,小没有删除
name.rpartition("小") # 将字符串name按照从右往左出现的第一个"小"分割成若干部分,小没有删除
name.lstrip() # 去除字符串name左边的空格
name.rstrip() # 去除字符串name右边的空格
name.strip() # 去除字符串两边的空格
4、字符串的大小写
myStr = "my shenti is Rerere,\n my Koudai ,is kongkong"
myStr.capitalize() # 将字符串myStr的首字母大写
myStr.title() # 将字符串的每一个单词的首字母大写
myStr.lower() # 将字符串统一转化成小写字母
myStr.upper() # 将字符串统一转化成大写字母