#下标索引方式
str="12345"
#从前向后索引 从前往后对应下标为0 1 2 3 4 5
for i in range(5): # i的是从0开始到4结束
print(str[i],end=",") #输出:1,2,3,4,5,
print('\n')
#从后向前索引 从后往前对应下标为-1 -2 -3 -4 -5
i=-1
while i>=-5 :
print(str[i],end=",") #输出:5,4,3,2,1,
i-=1
print("\n")
print(str[-3:-1]) #输出34 左闭右开
#字串截取
str="make a difference"
# str[begin:end] 表示从string的下标为begin开始到end-1截取字符串,区间:左闭右开
print(str[2:6]) #输出ke a
# str[ :end] 如果省略begin,则代表从头开始输出,到end-1结束 等价于str[0:end]
print(str[ :3]) #输出mak
# str[begin: ] 如果省略end,则代表从begin开始输出,直到结尾
print(str[7: ]) #输出difference 等价于 print(str[-10:])
# str[:] 若begin和end都省略,则代表将str中所有元素都取出
print(str[:]) #输出make a difference
#也可以截取单个字符
print(str[0]) #输出m
print(str[-2]) #输出c
#python中没有用于保存单个字符的数据类型,没有c++中类似char类型的数据,只有保存字符串的string
#也就是说python的单个字符也是放在string来保存的
#python的字符串可以放在一对单引号中,也可以放在一对双引号或者三引号中
#空串(空字符串):不包含任何字符的字符串,空格也不行!仅有一对单引号或一对双引号
s=""
print(s) #输出一个空串,不是换行,因为print是自动换行
#字符串赋值可以一行只给一个字符串赋值,还可以一行给多个字符串赋值
s1,s2='这一次我告别故乡',"踏上我的流浪"
print(s1)
print(s2)
#字符串转换为整数的函数 int(str,n) 将n进制数的str字符串转换为10进制,最后的结果都是10进制数
#第一个参数:str 必须是由数字构成的整数字符串,这样才可以转化为整数,否则报错
#第二个参数:n 代表str字符串是n进制数字,要将str转化为10进制数,不写这个参数默认为本身就是10进制数
sb="11"
print(int(sb)) #输出11
print(int(sb,2)) #输出3
#注意:str参数必须是一个纯纯的数字字符串,不能包含运算符什么的 如:"12+6"这种是不可以的,即不支持运算
#字符串转换为浮点数的函数 flota(str) 只有一个参数,就是一个整数或浮点数的字符串,也是不支持运算
sk='23'
print(float(sk)) #输出23.0
sk='23.6'
print(float(sk)) #输出23.6
#续行符的使用
s1='无知和久违的理想\
154868'
print(s1) #在一行中输出:无知和久违的理想154868
#注意:在python中string是不可变类型数据,即不能通过对字符串的某一位置进行赋值而改变字符串
str="1111"
# str[0]='2' 不可以写这种赋值的语句来改变字符串,会报错。(但是在c++中是可以这么干的)
上面程序可以直接赋值到 .py 文件中,然后在编译器上运行,都会有对应的输出。