通常,一个程序都会有输入/输出,这样可以与用户进行交互。用户输入一些信息,你会对他输入的内容进行一些适当的操作,然后再输出给用户想要的结果。Python的输入/输出,我们可以用input进行输入,print进行输出,这些都是简单的控制台输入/输出,复杂的有处理文件等。
输入
raw_input()
注:python3版本中没有raw_input()函数,只有input()并且 python3中的input与python2中的raw_input()功能一样。
password = raw_input("请输入密码:")
print ('您刚刚输入的密码是:%d'password)
raw_input()的小括号中放入的是,提示信息,用来在获取数据之前给用户的一个简单提示
raw_input()在从键盘获取了数据以后,会存放到等号右边的变量中
raw_input()会把用户输入的任何值都作为字符串来对待
input()
在python2中input()函数与raw_input()类似,但其接受的输入必须是表达式。
在python3中input()函数等价raw_input(),接受的是字符串
name = input("请输入名字:")
print ("您的名字:%s"name)
输出
name = "xiaohua"
print("我的姓名是%s,年龄是%d"%(name,age))
%这样的操作符,这就是Python中格式化输出
常用的格式符号
格式符号 | 转换 |
---|---|
%c | 字符 |
%s | 通过str() 字符串转换来格式化 |
%i | 有符号十进制整数 |
%d | 有符号十进制整数 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母) |
%X | 十六进制整数(大写字母) |
%e | 索引符号(小写'e') |
%E | 索引符号(大写“E”) |
%f | 浮点实数 |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
转移字符
转义字符 | 描述 |
---|---|
(在行尾时) | 续行符 |
\ | 反斜杠符号 |
' | 单引号 |
" | 双引号 |
\a | 响铃 |
\b | 退格(Backspace) |
\e | 转义 |
\000 | 空 |
\n | 换行 |
\v | 纵向制表符 |
\t | 横向制表符 |
\r | 回车 |
\f | 换页 |
\oyy | 八进制数yy代表的字符,例如:\o12代表换行 |
\xyy | 十进制数yy代表的字符,例如:\x0a代表换行 |
\other | 其它的字符以普通格式输出 |
- print(value, ..., sep, end, file, flush)
本函数是实现对象以字符串表示的方式格式化输出到流文件对象file里。其中所有非关键字参数都按str()方式进行转换为字符串输出,关键字参数sep是实现分隔符,比如多个参数输出时想要输出中间的分隔字符;关键字参数end是输出结束时的字符,默认是换行符\n;关键字参数file是定义流输出的文件,可以是标准的系统输出sys.stdout,也可以重定义为别的文件;参数flush是立即把内容输出到流文件,不作缓存。
- sep
在输出字符串之间插入指定字符串,默认是空格,例如:
>>>print("a","b","c",sep="**")
a**b**c
- end
在print输出语句的结尾加上指定字符串,默认是换行(\n),例如:
>>>print("a",end="$")
a$
print默认是换行,即输出语句后自动切换到下一行,对于python3来说,如果要实现输出不换行的功能,那么可以设置end=''(python2可以在print语句之后加“,”实现不换行的功能)
- file
将文本输入到file-like对象中,可以是文件,数据流等等,默认是sys.stdout
>>>f = open('abc.txt','w')
>>>print('a',file=f)
- flush
flush值为True或者False,默认为Flase,表示是否立刻将输出语句输入到参数file指向的对象中(默认是sys.stdout)例如:
>>>f = open('abc.txt','w')
>>>print('a',file=f)
可以看到abc.txt文件这时为空,只有执行f.close()之后才将内容写进文件。
如果改为:
>>>print('a',file=f,flush=True)
则立刻就可以看到文件的内容
格式化数字和字符串
格式化用的是format函数返回格式化字符
格式化数字
-
print(str,format(item,format-specifier)
item:为字符串或者数字
format-specifier:格式说明,格式为 [对齐格式][总位数][.][小数位数][类型]
对齐格式的值:"<"(向左对齐) 或 ">" (向右对其),数字默认向右对齐,字符串默认向左对齐
例子:
print("工资:", format(100.123, "10.1f"))
# 工资: 100.1
print("工资:", format(100.123, "<10.1f"))
# 工资: 100.1
print("string:", format('abcde', "10s"))
# string: abcde
print("string:", format('abcde', ">10s"))
# string: abcde
注:随机数
import random #导入工具箱
random.randint[2,4]#2~4之间的随机数