#字符串的操作
#相连
Str = "how to use built_in"
print(Str +"I don't know")
# 重复打印 . 格式 * 后跟次数
print(Str * 3)
#切片:使用下标切片.
#1.格式 方括号括起来, a表示开始下标,b表示结尾下标. 但是含头不含尾 [a:b]
Str2 = "python"
print(Str2[0])
# 后面的下标省略不写,表示取到末尾.
print(Str2[1:])
#含头不含尾
print(Str2[1:4])
print(Str2[2:6])
#字符太多,从末尾开始取. 末尾位置为 -1 依次-2
print(Str2[-3])
print("adb".strip())
print(len(Str2))
#格式化 % 和 format
Str3 = "我的名字是%s,我的名字是%d. 我有%f元钱"
# %意为格式化. 后跟则转化后的格式. 本处学习3种. %s %d %f,转化为字符串,转化为十进制整数,转化为浮点型
#1. 有几个格式化就需要传几个
#2. %f 默认转化为6位小数. 所以结果是:我有456.200000元钱
print(Str3 % ("李瑞", 18, 456.2)) #Str3 中有3个格式化位置,则需要传3个参数.
# 3. %a.bf
# (1)a表示:一共打印长度,包含小数点. b表示:小数精度.保留小数点几位数
# (2)如果a< 数字的长度-包含小数点,则全部打印
print("%2.3f" % 454444446.52) #全部打印
# (3)如果a>数字总长度,则左侧用空格补齐.
print("%8.1f" % 446.52) #结果: 446.5 前面有3个空格
# (4)如果 a,b可以单个省略,分别意为: 则全部打印,默认6位
print("%.3f" % 454444446.52) #全部打印
# 格式化 format
#格式 "xxxx {} ,xxx {}" format ("",""). .
#(1)使用下标改变顺序
#使用下标. 后面的参数下标以0开始. 传入Str中.并且可以调换 传入的位置
Str4 = "my name is {1},{0},{1} years old."
print(Str4.format(18, "LR"))
#传入个数不需要相同.
print(Str4.format(18, "LR")) #原Str中三个格式化. 传参2个也可以.
#(2)根据变量名,改变传参的顺序
Str5 = "my name is {name},{age} years old."
print(Str5.format(age=18, name="LR"))
#内内置函数 built_in_functions
#见 str_functions.py