字符串类型

# 字符串类型

# 1.单引号的字符串
# str_var = 'hello'
# print(str_var, type(str_var))
# 2.双引号的字符串
# str_var = "world"
# print(str_var, type(str_var))
# 3.三引号的字符串
# str_var = """
# hello
# world
# """
# print(str_var, type(str_var))

# 4.转义字符
# 换行 \n
# 换行 \r\n
# 缩进(水平制表符) \t
# \r : 将\r后面的字符串拉到了当前行的行首,进行全面替换
# str_var1 = "卡咖啡\t师阿斯蒂芬\n卡加斯打\r\n发斯蒂芬"
# str_var2 = "卡咖啡师阿斯蒂芬\n卡加斯\r打发斯蒂芬"
# print(str_var1)
# print(str_var2)

# 5.元字符串: r"字符串" - 原型化输出字符串
# str_var4 = r"D:\python\..."
# print(str_var4)

# 6.字符串的格式化
"""
%d 整型占位符
%f 浮点型占位符
%s 字符串占位符
语法格式: 
   "字符串" % (值1, 值2)
   值按照位置与占位符一一对应,多一个不行,少一个也不行
"""
# %d 整型占位符
str_var5 = "小张买了啤酒花了%d块钱" % 8
print(str_var5)  # 小张买了啤酒花了8块钱

# %2d 占两位(不够两位拿空格进行补位, 默认原字符串居右)
str_var6 = "小张买了啤酒花了%2d块钱" % 8
print(str_var6)  # 小张买了啤酒花了8块钱

# %-2d 占两位(不够两位拿空格进行补位, 默认原字符串居左)
str_var7 = "小张买了啤酒花了%-2d块钱" % 8
print(str_var7)  # 小张买了啤酒花了8 块钱

# %f 浮点型占位符,默认保留6位小数
str_var8 = "赵石超一个月开%f公司" % 9.9
print(str_var8)  # 赵石超一个月开9.900000公司

# %.2f 浮点型占位符,默认保留2位小数,默认使用四舍五入取小数
str_var8 = "赵石超一个月开%.2f公司" % 9.9
print(str_var8)  # 赵石超一个月开9.90公司

# %s 字符串占位符-- 可以接受任意类型
str_var9 = "%s最喜欢在电影院看书" % "万达"
str_var9 = "%s最喜欢在电影院看书" % ["万达", "商都"]

print(str_var9)

# 组合起来
str_var10 = "%s在水里%s被发现了,罚款%.2f元, 并且做了%d俯卧撑" % ("11", "22", 2.147, 12)
print(str_var10)

# 以字典的形式传值,打破位置的限制
res = "我得名字是%(name)s, 我的年龄是%(age)s" % {"age": 18, "name": "张三"}
print(res)  # 我得名字是张三, 我的年龄是18

'''
字符串格式化2:
str.format()
'''
res1 = "我得名字是{}, 我的年龄是{}".format("李四", 19)
print(res1)  # 我得名字是李四, 我的年龄是19

res2 = "我得名字是{0}{0}{0}, 我的年龄是{1}{1}{1}".format("王二", 20, "赵六")
print(res2)  # 我得名字是王二王二王二, 我的年龄是202020

# 打破位置限制
res3 = "我得名字是{name}, 我的年龄是{age}".format(age=19, name="吴琦")
print(res3)  # 我得名字是王二, 我的年龄是20

# 填充与格式化
# 先取到值,然后在冒号后设定填充格式:[填充字符】[对齐方式][宽度】
# *<10:左对齐,总共10个字符,不够的用*号填充
print('{0}:*<10}'.format('开始执行'))  # 开始执行******
# *>10:右对齐,总共10个字符,不够的用*号填充
print('{0}:*>10}'.format('开始执行'))  # ******开始执行
# *个10:居中显示,总共10个字符,不够的用*号填充
print('{0}:*^10}'.format('开始执行'))  # ***开始执行***

# 2.5 精度与进制
print('{salary:.3f}'.format(salary=1232132.12351))  # 精确到小数点后3位,四舍五入,结果为1232132.124
print('{0:b}'.format(123))  # 转成二进制,结果为:1111011
print('{0:o}'.format(9))  # 转成八进制,结果为:11
print('{0:x}'.format(15))  # 转成十六进制,结果为:f
print('{0:,}'.format(99812939393931))  # 千分位格式化,结果为:99,812,939,393,931

"""
字符串格式化3: 3.5以后支持
f'str'
"""
x = input("名称: ")
y = input("年龄: ")
res4 = f"我得名字是{x}, 我的年龄是{y}"

# f的新用法:{}内的字符串可以被当做表达式运行
# res=f'{10+3}
# print(res)
# f'{print("aaaa")}


# 字符串之间可以相加,但仅限于str与str之间进行,
# 代表字符串的拼接,了解即可,不推荐使用,因为str之间的相加效率极低
# print('my name is '+'egon')
# print('='*20)
# print('hello world')
# print('='*20)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值