while语句字符串的基本操作
2024-08-30 17:38:20
1,编码:对现在通用文字编码成计算机文字,便于储存,传递,交流.
- 最早的计算机编码是ACSII美国人创建的,包含英文字母,数字,以及特殊符号.总共是128个码位:2**7,因为计算机的底层只能识别:"0","1",因此在128的码位上又增加了一位"0"这样就成了256位:2**8(只不过第一位都是"0").即:1个字节(byte),8位
- 随着计算机的普及,中国开始在ACSII的基础上增加了一个字节:2**8 x 2**8即026位,(GBK)但也只能表达6万5千多个字,然而汉子有9万多 ,还是没有表达完全,同GBK只在中国行之有效,在和其他国家交流就不能使用,因此又出现了万国码
- unicode 万国码 32位 4个字节 能表达42亿之多的字符,因此过于庞大.浪费空间,提出了新的编码utf-8
- utf-8:
- 英文 1个字节 8位
- 欧洲其他文字(非英文) 2个字节 16位
- 中国 3个字节 24位
- utf-8:
- #.计算机的单位换算"
8bit = 1byte 1024byte = 1kb 1024kb = 1mb 1024mb = 1Gb 1024Gb = 1Tb 1024Tb = 1pb
- 补充while语句:
# while循环体:
# 条件
# else 循环体在不满足条件时走else
# 列如:
index = 1
while index < 11:
if index == 8:
break # 整个程序从这开始停止运行 else:
print(index) # 当index<8的时候,程序一直走这里
index += 1
pass
- 此时运行的结果是:1,2,3,4,5,6,7,如果是通过break退出的程序,则break后的程序将不再执行,程序完全退出,
- pass不带标任何内容.这里是展位,显示代码的完整性.
2,数据的基本类型:
- int数字型,主要来进行数学运算
- str字符串型,可以板寸少量数据并进行相应的操作
- bool判断真假:Ture,False
- lst列表型,储存大量数据,用[ ]表示
- tu元组型,元组内的元素不可改变,用( )表示
- dic字典型,以键值对的形式保存数据
- set集合型,也可以保存大量数据,但是元组不能重复(就是去电value的dict)
- 1>int数字型可进行的操作是计算数字占用二进制码的长度.用 .bit_len( ),括号不用添加任何东西.
- 即:a = 3 # 1 +1 =10 +1 =11.........................把数字3赋值给a
print(a.bit_len())......................................此时打印的内容是:2
- 2>str字符串型:把字符用" ",' ',''' '''引起来的内容称为字符串(字符串成串)
- 2.2.1>字符串的索引和切片
- 索引就是下表,是对字符串位置的标记,索引是从从0开始计数
- 列如:s = "python最牛b"
- 2.2.1>字符串的索引和切片
s = "python最牛b"
print(s[0]) # p
print(s[8]) # b
print(s[-1]) # b
print([-3]) # 最
注意:###-1是表示从右向左数数第一个,这时倒着数是从-1,# -3是表示从右向左第3个数
- 切片:我们可以用下角标来截取部分字符串的内容(先索引出字符串,再截取部分字符串)
- 语法是:str[start,end]
- 特点:过顾头不顾尾,从start开始到end结束,但取不到end.
s = "python最牛b"
print(s[0:3]) # pyt表示从左向右取0,1,2所对应的元素
print(s[0:3:2]) # pt表示从左到右索引是从0到2,每隔2个元素取一个元素
print(s[-7:-10:-2]) # tp表示从右向左,每2个元素取一个元素,从右向左的索引是从-1开始的(-1,-2,-3...)
- 2.2.2字符串的基本操作....#.....字符串中的元素是不可变的,但是子元素是可以改变的.
- 1>字符串中子元素的大小写转换......格式是: .capitalize()................表示字符串第一个字母大写,所以括号里不用添加任何东西.
- 2.2.2字符串的基本操作....#.....字符串中的元素是不可变的,但是子元素是可以改变的.
s = "alex,wusir,太白,日天"
s1 = s.capitalize()
print(s1) # Alex,wusir,太白,日天
- 2> .upper()表示将全部字母转换成大写.因此括号里不用加任何东西
s = "alex,wusir,太白,日天"
s1 = s.upper() # 表示将字符串s中的字母全部大写
print(s1) # ALEX,WUSIR,太白,日天
s2 = s.lower() # 表示将字符串s中的所有字母小写
print(s2) # alex,wusir,太白,日天
s3 = s.title() # 表示将字符串中被","(特殊符号)隔开的字母的首字母大写
print(s3) # Alex,Wusir,太白,日天
- 3> .居中 .centr(数字(表示总共有几位)."*")
s = "帅爆太阳的男人"
s3 = s.center(11, "*") # 表示总共有10位,身下的用*补齐
print(s3) # **帅爆太阳的男人**
- 4>去空格 .strip()表示去电字符串左右两端的空格
s = " alex,wusir,太白,日天"
s4 = s.strip() # 在去空格的时候,不用添加任何东西
print(s4) # alex,wusir,太白,日天
s5 = s.strip("日天") # 表示是去掉某一特定的元素
print(s5) # alex,wusir,太白,
- 5>字符串的替换 .replace("a","b")表示字符串中a用b替换.
s = "alex,wusir,太白,日天,answer"
s6 = s.replace("alex", "大保健") # 把alex替换成大保健
s7 = s.replace("a","b",2) # 表示把a换成b,并从左向右替换2个
print(s6) # 大保健,wusir,太白,日天,answer
print(s7) # blex,wusir,太白,日天,bnswer
- 6>字符串的切割 .split(" ")将字符串中的元素切掉
s8 = """
诗人
学者
感叹号
渣渣
"""
# 空的字符用\n去切割
print(s8.split("\n")) # ['', ' 诗人', ' 学者', ' 感叹号', ' 渣渣', '']
s = "日天,alex,wusir,太白,日天"
s9 = s.split("日天")
print(s9) # ['', ',alex,wusir,太白,', '']去掉两端变成了空的字符
- 7>字符串的查找 .find(" ") .startswich(" ") .endswith(" ") .count(" ") .index(" ")
s = "alex,wusir,太白,日天,answer"
s10 = s.startswith("alex") # 判断是否以alex开头
print(s10) # True
s11 = s.endswith("answer") # 判断是否以answer结尾
print(s11) # True
s12 = s.find("w") # 查找"w"在字符串中的位置,如果字符串中没有要查找的元素则输出-1
print(s12) # 5, 注意","也算一个字符(坑)
s13 = s.count("日") # 计数日在字符串中出现了几次
print(s13) #
s14 = s.index("a") # 查找出a的索引,在这里一次只能查找一个,当有多个时,查找的是从左到右第一个
- 2.2.3字符串的格式化输出
s14 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润 发", age=28) # 指定关键字 print(s1) # 此时打印结果是:"我叫周杰伦, 今年年28岁了, 我喜欢周润发"
3 计算字符串的长度:格式len("字符串")
s = "我是你的眼, 我也是a" s15 = len(s) # len是内置函数不用"." print(s15) # 此时打印内容是:10,次字符串长度为10(占10个位置)
4布尔值(bool)
- 取值只有True或者False值没有操作
- 数据类型转换谁就把谁括起来
- 空是False,非空是True
最新文章
- 使用batch insert解决MySQL的insert吞吐量问题
- 计算几何 平面最近点对 nlogn分治算法 求平面中距离最近的两点
- iOS开发——实用OC篇&;多种定时器详细介绍
- 关于python的环境变量问题
- 移动端ios电话号码
- MvcPager
- 插入排序与希尔排序Java实现
- eclipse配置svn方法
- D的下L
- zepto.js-定制zepto步骤
- kafka环境搭建和使用(python API)
- poj2836 状态压缩dp
- CA认证的原理和流程及https原理
- 20135337——Linux实践三:ELF文件格式(64位系统,简单分析)
- get请求中url传参中文乱码问题--集锦
- mysql reset password重置密码
- Chapter1(预科)--C++Prime笔记
- MySQL查看所有用户及拥有权限
- spring applicationContext.xml 中bean配置
- LeetCode:罗马数字转整数【13】
热门文章
- 条款22:将成员变量声明为private(Declare data members private)
- 【HIHOCODER 1105】题外话&#183;堆
- 【HIHOCODER 1044】题目1 : 状态压缩&#183;一
- POJ 2631 Roads in the North (树的直径)
- PC硬件以及引导加载器
- Leetcode 283.移动零
- zoj 1949 Error Correction
- C# 中的新增功能
- [codeforces722D]Generating Sets
- Codeforces936D. World of Tank