字符串类型


字符串是不可变的数据类型


索引(下标)



我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就叫索引,也叫下标,



注意:索引都是从0开始,只有有序的对象才会有索引




python 输出到字符串变量_浮点数


切片


只取字符串中某一部分的,就要切片,切片特性:顾头不顾尾


 


name = 'alisa'
print(name[0:3])
#运行结果:ali 只会取 0 1 2 的下标对应的值


 

步长


步长是指你取值的间隔长度,例如:


 

name = 'alisa' 
    
     

      print(name[0:5:2])#隔1个值取一个,若不写,默认1 
    
     

      #运行结果:aia


注意:字符串中可以倒着找


name = 'alisa'
print(name[-1:-5:-1])
#如果你是倒着数,那步长就是负数所以步长是可以控制方向的
#运行结果:asil


字符串的方法


s1 = s.capitalize() 首字母大写


s2 = s.upper() 全部大写


s3 = s.lower() 全部小写


s4 = name.title() 首字母大写,有特殊符号分割的也会大写


s.endswith('x')以什么开始


s.startswith('a') 以什么结尾


s.find('p') 通过元素查找下标,查找到没有的返回-1


s.index('p') 通过元素查找下标,若查找不到就报错


s.format 格式化输出


print('_',join(s))每个s的元素都会加个下划线


s.split('t')以括号里面的来进行分割


s.rstrip() 删除末尾空白


s.lstrip() 删除开头空白


s.strip() 删除两端空格,还会有换行#默认是删除空格\n等,若输入内容,则是清除内容


若想替换所有空格,可以用replace


s.replace('a','s',count) 替换, a 是被 s 替换的,第三个是替换的次数,默认是全部都替换


s.swapcase()括号不用内容,做到大小写转换,把原有字母进行大小写转换


s.isdigit() 判断是不是数字(判断我字符串里的内容是不是纯数字)


s.isalpha() 判断是不是汉字和字母


s.isupper()判断是否是大写


s.islower()判断是否是小写


s.isalnum()判断是不是字母和数字


 字符串的定义



name = 'alisa'



2双引号方式



name = "alisa"



3三引号方式(三个单引号 和三个双引号都可以)


主要用来换行



'''
?能提笔安天下,
武能上?定乾坤.
?存谋略何?胜,
古今英雄唯是君.
'''



4 单双引号混合使用



若字符串内有单引号,那最外层必须用双引号,反之亦然
str1 = "I'm alisa,what's your name?"
str2 = '我选的是"A",你呢'



若字符串内既有双引,又有单引号,则外层用三引号
str3 ='''It's "C",I have "A" and "B"。'''



5字符串的拼接


字符串可以进行加法和乘法
加法(只能是字符串之间进行,不能是不同类型的)

name = 'alisa'
name1 = 'hello,'
print(name1 + name)
运行结果:hello,alisa


 

乘法(字符串与数字相乘):把原来的字符串进行了10次展示

name = 'alisa'
print(name*10)
运行结果:
alisaalisaalisaalisaalisaalisaalisaalisaalisaalisa


 

符串的格式化


格式化输出常用参数:


%s:非常强大,可以接收任意类型的数据并转化成str类型输出。


%c:整数:将数字转换成其ASCII/unicode对应的值,(py27则只支持0-255)。


%o:将整数转换成八进制表示。


%x:将整数转换成十六进制表示。


%d:将整数、浮点数转换成 十 进制表示。


%e:将整数、浮点数转换成科学计数法(小写e)。


%E:将整数、浮点数转换成科学计数法(大写E)。


%f: 将整数、浮点数转换成浮点数表示(默认保留小数点后6位)。


%g:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是e;)。


%G:自动调整将整数、浮点数转换成 浮点型或科学计数法表示(超过6位数用科学计数 法,如果是科学计数则是E;)。


%:当字符串中存在格式化标志时,需要用 %%表示一个百分号 注:Python中百分号格式化是不存在自动将整数转换成二进制表示的方式。


示例1


name = input("请输入姓名")
age = input("请输入年龄")
print('你认识的那个%s,今天是%s了吗'%(name,age))


示例2


name = input("请输入姓名")
age = input("请输入年龄")
print(f'你认识的那个{name},今天是{age}了吗')


 示例3


name = input("请输入姓名")
age = input("请输入年龄")
print(("你认识的那个{},今天是{}了吗").format(name, age))


字符串编码


ascii 美国 256 没有中文 


一个字节  8位   


gbk 中国  


中文 2字节  16位


英文 1字节  8位


unicode 万国码 


2个字节     16位


4个字节     32位


utf-8 可变编码   


英文 1字节  8位


欧洲 2字节  16位


亚洲 3字节  24位