# str1="abcdef" #字符串 str型
# int1 = 1 #整数 int型
# float1=1.3 #浮点数,float型
# str2 = 'ABCDEF'
# #单引号和双引号都可以表示字符串
# print(str1,str2)
#在某一行按下Ctrl+/,就可以进行注释,注释就是程序不执行该行代码,注释是给人看的,而不是给程序看的
#print('it's ok') 会报错,语法错误syntaxError:invalid syntax
# print("it's ok")#当里面是单引号时,外面需要使用双引号
# print("he said :"hello "")#会报错
# print('he said :"hello"')#当句子本身有双引号,外面使用单引号
# print("春花秋月何时了
"
# "往事知多少")
# print("春花秋月何时了
" #
表示换行符, 表示制表符,
表示回到开头
# "往事知多少
"#需要每行都要加上换行符,麻烦
# "小楼昨夜又东风
"
# "故国不堪回首明月中")
#使用三引号'''''' """"""
# print("""春花秋月何时了
# 往事知多少
# 小楼昨夜又东风
# 故国不堪回首明月中""")
#字符串拼接
# print("abceddd"+"adldlel;;")
# print("a"+1)#报错:字符串跟数字不能拼接TypeError: must be str, not int
# print(1+"a")#报错:数字跟字符串不能拼接TypeError: unsupported operand type(s) for +: 'int' and 'str'
# print("a"+str(1))#强制转换成字符串类型,使用str()函数将参数转成str型
# print(1+int("a"))#字符串里面不是数字,不能转换成int型,ValueError: invalid literal for int() with base 10: 'a'
# print(1+int("2"))#int型算术运算,不是拼接,使用int()函数将参数转成str型
# print(1+int("1.3"))#字符串里面不是数字,不能转换成int型,ValueError: invalid literal for int() with base 10: 'a'
# print(1+float("1.3"))#使用float()函数将参数转成float型,然后进行运算,结果为2.3
# print("*"*8)#字符串可以使用乘号输出多个相同的字符,加减乘除只能使用乘号
#转义符
# print("d:
ote1.txt")#/n变成了转义字符,不符合预期结果
#解决方案1
# print("d:\note1.txt")#双斜杠,表示后面的斜杠没有特殊的含义
#解决方案2:
# print("d:/note1.txt")#使用正斜杠也可以输出路径
#解决方案3:
# print(r"d:
ote1.txt")#使用r,表示后面的字符串只能是普通的字符
#字符串的下标
str3="abcdkiuwe"
# print(id(str3))
# print(str3[2])#python的下标是从0开始算起
# str3[2]="m"#会报错,字符串属于不可变对象,不能修改里面的值TypeError: 'str' object does not support item assignment
# str3="abcdefg"#重新赋值,指向了新的内存地址,原先的不使用,会被回收
# print(id(str3))
# print(str3[-1])#可以使用负数下标,表示倒着取值,最后一位是-1
# print(str3[100])#超过字符串最大长度,报错下标越界:IndexError: string index out of range
#字符串切片
# print(str3[2:5])#左含右不含,含头不含尾,cdk
# print(str3[2:])#第二个参数不写,表示从开始位置取所有
# print(str3[:5])#第一个参数不写,表示从来开始取值,取到结束值abcdk
# print(str3[:100])#超过字符串长度,切片不会报错,表示从开始值取所有abcdkiuwe
# print(str3[:-1])#切片也可以使用负下标
# print(str3[:])#起始值和终止值都不写,表示全取,复制
# print(str3[::2])#第三个参数表示步长,控制取值位置,步长不写默认为1,ackue
# print(str3[::-1])#步长为-1,表示倒着取值,ewuikdcba
# print(str3[100::-1])#如果起始值大于终止值,步长必须为负数
#index函数
# print(str3.index(u))#报错:NameError: name 'u' is not defined
str4 = "123456789"
# print(str3.index("u"))#index()方法,返回字符的下标
# print(str4.index(8))#字符串的index方法,里面的参数必须为字符串TypeError: must be str, not int
print(str4.index("0"))#如果找不到值会报错ValueError: substring not found