> **读书笔记**:
# 知识点1:
‘’‘
1、type()用于展示数据类型
2、所有类型基本都能转成str,但是str不一定能转换成int
3、数据类型的转换
注意:int和float不能转换成str;
int 不能转成元组,list等,因为int不是可迭代的对象
转换为字典dict的 必须是一个序列 (key,value)元组
’‘’
'
1、int 转换成 float
'
int1 =2.33333
print(type(int1),"+",float(int1))
# 输出:<class 'float'> + 2.33333
'
2、int 转换成 str
'
number = 3
print(type(number))
number_new =str(number)
print(type(number_new),"+",number_new)
# <class 'int'>
# <class 'str'> + 3
'
3、str转换成 tuple
'
number = "3"
print(type(number))
number_new =tuple(number)
print(type(number_new),"+",number_new)
# <class 'str'>
# <class 'tuple'> + ('3',)
'
4、str转换成 list
'
number = "3"
print(type(number))
number_new =list(number)
print(type(number_new),"+",number_new)
# <class 'str'>
# <class 'list'> + ['3']
'
5、str转换成 set
'
number = "3"
print(type(number))
number_new =set(number)
print(type(number_new),"+",number_new)
# <class 'str'>
# <class 'set'> + {'3'}
'
6、tuple/list 转换成 dict
'
list1=("1","A","2","B") # list1={"1","A","2","B"}
print(type(list1))
dict ={}
for i in range(0,len(list1),2):
dict[list1[i]]= list1[i+1]
print(dict)
# <class 'tuple'>
# {'1': 'A', '2': 'B'}
# 知识点2:
‘’‘
字符串的操作:
1、字符串的转义:
1.1、\n 换行
eg:print("我\n你")
1.2、\t 制表符,想当与teb,输出4个空格
eg:print("我\t你")
1.3、r 忽略不转义转义字符
eg:print(r "http:\\n.com")
2、字符串索引取值:
2.1、正向取值:
str1="我的名字是可爱多"
print(str1[0]) # 下标从0开始
# 我
2.2、逆向取值:
str1="我的名字是可爱多"
print(str1[-1]) # 下标从-1开始
# 多
3、字符串的切片
3.1、切片[start:end:step]
str1="我的名字是可爱多"
print(str1[0:4])
print(str1[:-4:])
# 以上两种,效果一样:我的名字
3.2、复制操作
str1="我的名字是可爱多"
b =str1[:]
print(b)
3.3、字符串反转
str1="我的名字是可爱多"
print(str1[::-1])
# 多爱可是字名的我
4、字符串的操作:
4.1、len() # 获取字符串长度
str1="我的名字是可爱多"
print(len(str1))
# 8
4.2、split() # 根据指定字符切割,存到列表当中
str1="我的@名字是@可爱多"
print(str1.split('@'))
# ['我的', '名字是', '可爱多']
4.3、join() # 把一个列表拼接成字符串
str1="我的@名字是@可爱多"
print("-".join(str1))
# 我-的-@-名-字-是-@-可-爱-多
4.4、find("需查找字符串") /index("需查找字符串") # 查找字符串是否包含某元素,包含则返回开始下标,find找到不到指定字符串则返回-1,index找不到匹配字符串则会报错
str1="我的@名字是@可爱多"
print(str1.find("多"))
print(str1.index("多"))
# 9
# 以下是因为“多少”这个字符串在str1中不存在
print(str1.index("多少"))
# ValueError: substring not found
print(str1.find("多少"))
# -1
4.5、 replace("原字符串","新字符串") # 替换字符串
str1="我的名字是可爱多"
print(str1.replace("可爱多","千与千寻"))
# 我的名字是千与千寻
4.6、 strip() # 替换掉左右两边空格,中间空格不替换
str1=" 我的名字是 可爱多 "
print(str1.strip())
# 我的名字是 可爱多
4.7、 format() # 格式化
str1=" 我的名字是 可爱多 "
str2="swda"
str3= '233'
print("我的第一个字符串:{},第二个字符串:{},第三个字符串:{}".format(str1,str2,str3))
# 我的第一个字符串: 我的名字是 可爱多 ,第二个字符串:swda,第三个字符串:233
4.8、 f-string # 需要Python3.6以后
print(f"我的第一个字符串:{str1},第二个字符串:{str2},第三个字符串:{str3}")
# 我的第一个字符串: 我的名字是 可爱多 ,第二个字符串:swda,第三个字符串:233
’‘’
来,练习一下吧~~~
'''
1、题目:
现在有字符串:str1 = 'python cainiao 666'
请使用代码找出第 5 个字符
请复制一份字符串,保存为 str_two
'''
str1="python cainiao 666"
print(str1[5])
str1="python cainiao 666"
print(str1[6])
str_two = str1[:]
print(str_two)
'''
2、题目:卖橘子的计算器:写一段代码,提示用户输入橘子的价格,和重量,最后计算出应该支付的金额!
不需要校验数据,都传入数字就可以了。使用input函数获取用户输入哦,并且input 得到的数据都是字符串类型
'''
price =input("请输入橘子的价格:")
weight = input("请输入橘子的重量")
sum = int(price)* int(weight)
print(f"尊敬的顾客,您本次购买橘子总计花费:{sum}")
'''
3、题目:演练字符串操作 my_hobby = "Never stop learning!"
说明:“位置”指的是字符所处的位置(比如位置1,指的是第一个字符“N”);“索引”指的是字符的索引值(比如索引0, 代表的是第一个字符“N”);开始位置 ,是指字符串起始,即下标为0开始;末尾,是指字符串最后。
'''
# 截取从 位置2 ~ 位置6 的字符串(含 位置6)
my_hobby = "Never stop learning!"
print(my_hobby[1:6])
# 截取完整的字符串
my_hobby = "Never stop learning!"
print(my_hobby[::])
# 从 索引3 开始,每2个字符中取一个字符
my_hobby = "Never stop learning!"
print(my_hobby[3::2])
# 截取字符串末尾两个字符
my_hobby = "Never stop learning!"
print(my_hobby[-2:])
# 字符串的倒序
my_hobby = "Never stop learning!"
print(my_hobby[::-1])
'''
4、题目:将字符串中的单词位置反转,“hello xiao mi” 转换为 “mi xiao hello” (提示:通过字符串分割,拼接,列表反序等知识点来实现)
'''
my_hobby = "hello xiao mi"
list1 = my_hobby.split(" ")[::-1]
print(f"{list1[0]} {list1[1]} {list1[2]}")
'''
5、题目:把姓名、年龄、密码、性别、专业、爱好分别存储在变量中,用下列格式展示:
-------------------------------
姓名:xxx
年龄:xxx
密码:xxx
性别:xxx
专业:xxx
爱好:xxx
-------------------------------
'''
name ="仙女"
age ='18'
password = "123456"
Gender = "仙女不知道吗"
major = '干啥啥不行,干饭第一名'
hobby = "尤克里里"
print(f"""
-------------------------------
姓名:{name}
年龄:{age}
密码:{password}
性别:{Gender}
专业:{major}
爱好:{hobby}
-------------------------------
""")