1,input输入函数
使用 input 函数从键盘等待用户的输入
用户输入的任何内容Python 都认为是一个字符串
如果需要其他类型就需要转换函数
float 字符串或者整数-->浮点型
int 字符串或浮点型-->整数型
str 数字-->字符串
eval 数字-->实数
chr ASCII值-->ASCII字符
hex 整数-->十六进制的字符串
long 字符串-->长整型
oct 整数-->八进制的字符串
ord ASCII字符-->ASCII值
>>> a = input("请输入:") #括号内可写需要输入的提示内容(要有引号)
请输入:Hello World!
>>> a
'Hello World!'
>>> b= int(input(("请输入整数:"))) #int()将输入的字符串类型转换为整数类型
请输入整数:50
>>> b
50
c = float(input("请输入一个数:")) #float()将输入的字符串类型转换为浮点类型
请输入一个数:45.6
>>> c
45.6
2,print()输出函数或打印函数
python中有多种输出方法:
1,变量或表达式
>>> 4+6
10
>>> x = 10
>>> y = 20
>>> z = x + y
>>> y-x
10
>>> z
30
2,使用文件对象的 write() 方法,标准输出文件可以用 sys.stdout 引用
3,使用print()可以输出Python中的所有数据类型的值
函数的语法:
print(*objects, sep=’ ‘, end=’\n’, file=sys.stdout)
objects --表示输出的对象。输出多个对象时,需要用 , (逗号)分隔。
sep – 用来间隔多个对象。
end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符。
file – 要写入的文件对象。
>>>x,y,z = 1,'a','$'
>>>print("The values are", x, y, z) #打印一系列以空格分隔的值以逗号分隔,打印字符串用引号
The values are 1 a $
>>>print("The values are", x, y, z, spe=',')#输出指定分隔符
>>>The values are,1,a,$
>>> print('\n'*num) #打印空行(num为空行数)
输出重定向到一个文件
例1
>>> f=open('f.txt','w')
>>> import sys
>>> old=sys.stdout #将当前系统输出存储到一个临时变量中
>>> sys.stdout=f #输出重定向到文件
>>> print('Hello World!',file=f)
>>> sys.stdout=old #还原原系统输出
>>> f.close()
>>> f1=open('f.txt','r')
>>> print(f1.read())
Hello World!
例2
# 在当前文件夹创建文件test.txt,并写入内容
>>> with open('test.txt', 'w') as fp:
print('Hello world', file=fp)
例3
>>> fp = open('test.txt', 'w')
# 此时并没有真正把内容写入文件,而是写入了缓冲区
>>> print('Hello world', file=fp)
# 关闭文件,把缓冲区里的内容写入文件
>>> fp.close()
>>> fp = open('test.txt', 'w')
# 强制把缓冲区里的内容写入文件
# 不用关闭文件即可写入
>>> print('Hello world', file=fp, flush=True)
>>> fp.close()
数据格式化输出
%s 字符串(采用str()的显示 )
%r 字符串(repr())的显示
%c 单个字符及其ASCII码
%u 无符号整数
%b 二进制整数
%d %i 十进制整数
%o 八进制整数
%x 十六进制整数
%e 指数(基底写e)
%E 指数(基底写E)
%f,%F 浮点数
%g 指数大于-4或者小于精度值则和e相同,其他情况和f相同
%G 指数大于-4或者小于精度值则和E相同,其他情况和F相同
%% 字符%
%p 用十六进制数格式化变量的地址
>>> abc ="abcdefg"
>>> x = len(abc)
>>> print("Teh length of %s is %d" %(s,x))
>>> print("The length of %s is %d" %(abc,x))
The length of abcdefg is 7
>>> PI = 3.1415926
>>> print('%10.3f'%PI) #字段宽10,精度3
3.142
>>> print("PI = %.*f" %(3,PI)) #用*从后面的元组中读取字段宽度或精度
PI = 3.142
>>> print("PI = %*.3f" %(6,PI))
PI = 3.142
转换标志:
-表示左对齐;
+表示在数值前要加上正负号;
*定义宽度或者小数点精度
m.n m是显示的最小总宽度,n 是小数点后的位数
" "(空白字符)表示正数之前保留空格();
0表示转换值若位数不够则用0填充。
>>> print("---%-10.3f---" %PI)
---3.142 ---
>>> print("---%+.3f---" %PI)
---+3.142---
>>> print("---%010.3f---" %PI)
---000003.142---
>>> for i in range(0,5):
... print(i,end='')
...
01234>>> for i in range(0,5):
... print(x,end=',')
...
0,1,2,3,4,>>>
format格式化输出
format() 方法的语法格式如下:
str.format(args)
str 用于指定字符串的显示样式;
args 用于指定要进行格式转换的项,如果有多项,之间有逗号进行分割
创建显示样式模板时,需要使用{}和:来指定占位符,其完整的语法格式为:
{ [index][ : [ [fill] align] [sign] [#] [width] [.precision] [type] ] }
格式中用 [] 括起来的参数都是可选参数
index:后边设置的格式要作用到 args 中第几个数据,数据的索引值从 0 开始,默认依args 中数据的先后顺序自动分配。
fill:空白处填充的字符。注意,当填充字符为逗号(,)且作用于整数或浮点数时,该整数(或浮点数)会以逗号分隔的形式输出,例如(1000000会输出 1,000,000)。
align:指定数据的对齐方式,具体的对齐方式如表 1 所示。
< 数据左对齐。
> 数据右对齐。
= 数据右对齐,同时将符号放置在填充内容的最左侧,该选项只对数字类型有效。
^ 数据居中,此选项需和 width 参数一起使用。
sign:指定有无符号数,此参数的值以及对应的含义
+ 正数前加正号,负数前加负号。
- 正数前不加正号,负数前加负号。
空格 正数前加空格,负数前加负号。
# 对于二进制数、八进制数和十六进制数,使用此参数,各进制数前会分别显示 0b、0o、0x前缀;反之则不显示前缀。
width:指定输出数据时所占的宽度。
.precision:指定保留的小数位数。
type:指定输出数据的具体类型
s 对字符串类型格式化。
d 十进制整数。
c 将十进制整数自动转换成对应的 Unicode 字符。
e 或者 E 转换成科学计数法后,再格式化输出。
g 或 G 自动在 e 和 f(或 E 和 F)中切换。
b 将十进制数自动转换成二进制表示,再格式化输出。
o 将十进制数自动转换成八进制表示,再格式化输出。
x 或者 X 将十进制数自动转换成十六进制表示,再格式化输出。
f 或者 F 转换为浮点数(默认小数点后保留 6 位),再格式化输出。
% 显示百分比(默认显示小数点后 6 位)。
>>> print("{}:计算机{}的CPU占用率为{}%".format("2020-08-31","c",10))
2020-08-31:计算机c的CPU占用率为10%
>>>print("货币形式:{:,d}".format(1000000))
货币形式:1,000,000
>>>print("科学计数法:{:E}".format(1200.12))
科学计数法:1.200120E+03
>>>print("100的十六进制:{:#x}".format(100))
100的十六进制:0x64
>>>print("0.01的百分比表示:{:.0%}".format(0.01))
0.01的百分比表示:1%
常用相关转换函数
abs(number),返回数字的绝对值
float(object) , 把字符串和数字转换为浮点数
int(object) ,把字符串和数字转换为整数
str(object) ,把值转换为字符串
cmath.sqrt(number),返回平方根,也可以应用于负数
help(),提供交互式帮助
math.ceil(number),返回数的上入整数,返回值的类型为浮点数
math.floor(number),返回数的下舍整数,返回值的类型为浮点数
math.sqrt(number),返回平方根不适用于负数
pow(x,y[.z]),返回X的y次幂(有z则对z取模)
repr(object),返回值的字符串标示形式
round(number[.ndigits]),根据给定的精度对数字进行四舍五入
转义字符汇总
\ 续行符
Unix 系统里,每行结尾只有“<换行>”,即“\n”;
Windows系统里面,每行结尾是“<回车><换行>”,即“\r\n”;
Mac系统里,每行结尾是“<回车>”,即“\r”。
一个直接后果是,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。
windows采用回车+换行(CR+LG)表示下一行(亦即所谓的PC格式)
UNIX采用换行符(LF)表示下一行
MAC机采用回车符(CR)表示下一行