Python学习笔记(五) 字符串和常量及引号的使用,字符串格式化
# python定义常量时,命名字母全是大写,即被认为是常量
NAME = "Jack"
print(NAME, '\n')
# 字符串的表示:单引号' ', 双引号" ", 三引号""" """
message = "【淘宝】\n您正在使用验证码登录,\n验证码是:890631,\n请于3分钟内输入您的验证码,请勿泄露。"
print(message) # 使用双引号需要加换行符进行换行输出
# 三引号的用法 1 :保持字符串原格式输出
# 邮箱格式输出样例:
email_message = """
【阿里云】
尊敬的用户:
云盾云安全中心基线检查周报,截止目前您还有3个风险待处理,
请点击:云盾-云安全中心控制台 进行查看、修复验证。
from: aliyun.com
date: 2020/08/04
"""
print(email_message)
#三引号的用法 2 :作为注释使用
"""
此处的三引号没有赋值给变量,
所以此处三引号的作用为 多行注释
"""
Python 字符串格式化
Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。
如下实例:
#!/usr/bin/python
print "My name is %s and weight is %d kg!" % ('Zara', 21)
以上实例输出结果:
My name is Zara and weight is 21 kg!
python 字符串格式化符号:
符 号 |
描述 |
%c |
转换成字符(ASCLL码值,或者长度为一的字符串) |
%s |
转换成字符串 |
%d / %i |
转成有符号十进制数 |
%u |
转换成无符号十进制数 |
%o |
转换成无符号八进制数 |
%f |
格式化浮点数字,可指定小数点后的精度 |
%r |
优先用repr()函数进行字符串转换 |
%p |
用十六进制数格式化变量的地址 |
%% |
输出%(格式化字符串里面包括白粉宝,那么必须使用%%) |
%g / %G |
%f和%e / %F和%E的简写 |
%e / %E |
用科学计数法格式化浮点数,e / E控制输出e / E |
%x / %X |
转换成无符号十六进制数,x / X代表转换后的十六进制字符的大小写 |
Python 字符串前面加u,r,b的含义
1、字符串前加 u
例:u"我是含有中文字符组成的字符串。"
作用:
后面字符串以 Unicode 格式 进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码。
2、字符串前加 r
例:r"\n\n\n\n” # 表示一个普通生字符串 \n\n\n\n,而不表示换行了。
作用:
去掉反斜杠的转义机制。
(特殊字符:即那些,反斜杠加上对应字母,表示对应的特殊含义的,比如最常见的”\n”表示换行,”\t”表示Tab等。 )
应用:
常用于正则表达式,对应着re模块。
3、字符串前加 b
例: response = b'<h1>Hello World!</h1>' # b' ' 表示这是一个 bytes 对象
作用:
b" "前缀表示:后面字符串是bytes 类型。
用处:
网络编程中,服务器和浏览器只认bytes 类型数据。
如:send 函数的参数和 recv 函数的返回值都是 bytes 类型
附:
在 Python3 中,bytes 和 str 的互相转换方式是
str.encode('utf-8')
bytes.decode('utf-8')
格式化操作符辅助指令:
符号 |
功能 |
* |
定义宽度或者小数点精度 |
- |
用做左对齐 |
+ |
在正数前面显示加号( + ) |
<sp> |
在正数前面显示空格 |
# |
在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X') |
0 |
显示的数字前面填充'0'而不是默认的空格 |
% |
'%%'输出一个单一的'%' |
(var) |
映射变量(字典参数) |
m.n. |
m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话) |
Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。
name = '梦洁'
print('姓名:' + name)
# 格式符%s
age = 22
print('年龄:' + str(age)) # 将int类型age强转为str类型
print('年龄:%s' % age) # %s的形式输出年龄,%s即为str的缩写
isMarried = False # 布尔类型:True False
print('是否已婚?\t回答:%s' % isMarried)
print('年龄:%d' % age) # %d的形式输出年龄
# 格式符%d
age = 22.5
print('年龄:%d' % age) # %d,只取整数部分,舍去小数部分
year = 2019
print('今年是:%d' % year)
print('今年是:%2d' % year) # %d若限定宽度小于实际宽度,则按实际宽度显示
print('今年是:%6d' % year) # %d若限定管库大于实际宽度,则补空格
# 格式符%f
price = 89.9254
print('价格:%f' % price)
print('价格:%.2f' % price) # 保留2为小数,四舍五入
小练习:
# 按特定格式输出如下内容
'''
电视剧名:《xxxx》
评分次数:xxx
平均评分:x.x (保留1为小数)
点赞次数:xx次
'''
name = '三十而已'
viewTimes = 3586
scoreTimes = 3208
avgScore = 9.9
like = 3423
# 写法1:
overview = '''
剧名:%s
观看次数:%d
评分次数:%d
评分:%.1f
点赞次数:%d
''' % (name, viewTimes, scoreTimes, avgScore, like)
print(overview)
# 写法2:
print('剧名:%s' % name)
print('观看次数:%d' % viewTimes)
print('评分次数:%d' % scoreTimes)
print('评分:%.1f' % avgScore)
print('点赞次数:%d' %like)
- 点赞
- 收藏
- 关注作者
评论(0)