一 直接输出
python
#直接输出: 语法 print()
a = 10
str = "我是字符串"
print(a) #直接输出整形变量a
print(str) #直接输出字符串变量str
#注意,如果不是输出变量,而是直接输出字符串,则要加""
print("我是字符串")
转义字符
注意:单引号和双引号只是字符串的标志,不是内容。
例如:"hello",这里面包含5个字符 h e l l o。
对于字符串来讲,引号内的内容全部是字符,因为解释器、浏览器、编译器有时候不解析某些特殊符号,我们就需要使用 \ 对这些特殊符号进行转义说明。
使用 \ 后将其变为转义字符,使其在 " "中可以被识别,表示特定含义
\' 单引号
\" 双引号
\t tab制表符位
\n 回车换行
\a \b \r \\...
分隔符 sep
print 语句输出时,里面如果有多个元素,可以使用分隔符sep来分隔字符串
注意是分隔符,不是分割符
python
print("姜太公钓鱼" ,"愿者上钩",sep=',')
print("姜太公钓鱼" ,"愿者上钩",sep='\n')
第一句以,分隔两个字符串
第二局以\n(换行符)分隔两个字符串
结束符 end
print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end="":改变结束符
python
x="a" y="b"
# 换行输出
print( x )
print( y )
print('---------')
# 不换行输出
print( x, end=" " )
print( y, end=" " )
print()
输出:
a
b
----------
a b
file=sys.stdout
file=sys.stdout:设置输出设备,及把print中的值打印到什么地方,默认输出到准端
可以设置 file = 文件储存对象,把内容存到该文件中,如下:
python
f = open(r'a.txt', 'w')
print('python is good', file=f)
f.close()
则把python is good保存到 a.txt 文件中
flush=False
flush=False:该参数主要是刷新, 默认False,不刷新,Ture时刷新
例如在上面 示例中print中设置:
python
f = open(r'a.txt', 'w')
print('python is good', file=f, flush=True)
正常情况下print到f中的内容先从到内存中,当文件对象关闭时才把内容输出到 a.txt 中,当flush=True时它会立即把内容刷新存到 a.txt 中
二、格式化输出
python
#语法
print('格式符号' % (表达式)) #用%来转换匹配表达式(变量)
格式符号 | 转换为 |
---|---|
%s | 将x转换为一个整数 |
float(x) | 将x转换到一个浮点数 |
complex(real [,imag]) | 创建一个复数 |
str(x) | 将对象 x 转换为字符串 |
repr(x) | 将对象 x 转换为表达式字符串 |
eval(str) | 用来计算在字符串中的有效Python表达式,并返回一个对象 |
tuple(s) | 将序列 s 转换为一个元组 |
list(s) | 将序列 s 转换为一个列表 |
set(s) | 转换为可变集合 |
dict(d) | 创建一个字典。d 必须是一个 (key, value)元组序列。 |
frozenset(s) | 转换为不可变集合 |
chr(x) | 将一个整数转换为一个字符 |
ord(x) | 将一个字符转换为它的整数值 |
hex(x) | 将一个整数转换为一个十六进制字符串 |
oct(x) | 将一个整数转换为一个八进制字符串 |
1. %d(整数)
%03d 表示格式化输出3位数,不足三位的用零补全,超出3位原样输出
python
a = 1
b = 100
c = 1000
print("%03d" % a)
print("%03d" % b)
print("%03d" % c)
输出结果
2. %f(浮点数)
% f 默认输出6位小数
% .3f 输出小数点后3位,%.2f 为小数点后两位,会自动四舍五入
python
r = 3.1415
print("%0.3f" % r)
运行结果
三、f - 字符串
" " 里的内容python自动认定它是字符串,那如果我们想在 " "(字符串)里面表示变量呢
f - 字符串语法,可以解析 " " 里面的变量名,输出变量,使变量不被认为是普通字符
python
a = 10
print("我是a, 我的值是 a ")
#使用f-字符串语法
print(f"我是a, 我的值是 {a}")
输出结果为:
四、format 格式化函数
函数**str.format()
**,它增强了字符串格式化的功能。
基本语法是通过 {} 和 : 来代替以前的 % 。
format 函数可以接受不限个参数,位置可以不按顺序
实例1(不设置参数):
python
print("{} {}".format("hello", "world")) # 不设置指定位置,按默认顺序
#结果:'hello world'
print("{0} {1}".format("hello", "world")) # 设置指定位置
#结果:'hello world'
print("{1} {0} {1}".format("hello", "world")) # 设置指定位置
#结果:'world hello world'
实例2(设置参数):
python
print("{f} {l}".format(f="hello", l="world"))
# 通过字典设置参数
site = {"f": "hello", "l": "world"}
print("{f} {l}".format(**site))
# 通过列表索引设置参数
my_list = ['hello', 'world']
print("{0[0]} {0[1]}".format(my_list)) # "0" 是必须的
输出:
hello world
hello world
hello world
实例3(数字格式化):
python
print("{:.2f}".format(3.1415926))
#输出:3.14
数字 | 格式 | 输出 | 描述 |
---|---|---|---|
3.1415926 | {:.2f} | 3.14 | 保留小数点后两位 |
3.1415926 | {:+.2f} | +3.14 | 带符号保留小数点后两位 |
-1 | {:+.2f} | -1.00 | 带符号保留小数点后两位 |
2.71828 | {:.0f} | 3 | 不带小数(四舍五入) |
5 | {:0>2d} | 05 | 数字补0(填充左边,总宽度为2) |
5 | {:x<3d} | 5xx | 数字补x(填充右边,总宽度为3) |
1000000 | {:,} | 1,000,000 | 以,分隔的数字格式 |
0.25 | {:.2%} | 25.00% | 百分比形式 |
1000000000 | {:.2e} | 1.00e+09 | 指数形式 |
13 | {:>10d} | 13 | 右对齐(总宽度为10) |
13 | {:<10d} | 13 | 左对齐(总宽度为10) |
13 | {:^10d} | 13 | 居中对齐(总宽度为10) |
11 | '{:b}'.format(11) | 1101 | 二进制 |
11 | '{:d}'.format(11) | 11 | 十进制 |
11 | '{:o}'.format(11) | 13 | 八进制 |
11 | '{:x}'.format(11) | b | 十六进制 |
11 | '{:#x}'.format(11) or '{:#X}'.format(11) | 0xb or 0XB | #:表示在十六进制(或八进制)中添加前缀,本例以十六进制为例 |
^, <, > 分别是居中、左对齐、右对齐,后面带宽度
: 号后面带填充的字符,只能是一个字符,不指定则默认是用空格填充
- 表示在正数前显示 +,负数前显示 -,(空格)表示在正数前加空格