我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈
入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈
虚 拟 环 境 搭 建 :👉👉 Python项目虚拟环境(超详细讲解) 👈👈
PyQt5 系 列 教 程:👉👉 Python GUI(PyQt5)文章合集 👈👈
Oracle数据库教程:👉👉 Oracle数据库文章合集 👈👈
优 质 资 源 下 载 :👉👉 资源下载合集 👈👈
Python基础语法_输入&输出
- 前言
- 数据获取方式
- 在程序内部直接写死
- 从文件内读取数据
- 通过网络服务器进行获取
- 接收用户的输入
- 数据输出方式
- 写回到文件里面保存
- 发送回服务器
- 打印到控制台
- 通过一些界面,展示给用户看
输入(input)
- python2
- python2中输入函数有
raw_input
和input
- raw_input:未加工的输入,接收到的所有数据都是字符串类型
- input:只能是一个变量或者数字,不能直接输入字符串,相当于
raw_input
+eval
# raw_input:未加工的输入 user_name = raw_input('input your name:') print user_name # python2中直接用input,那么输入的时候只能是一个变量或者数字,不能直接输入字符串 # 示例1:输入变量 name = 'FengZi' user_name = input('UserName:') print user_name # 运行 UserName:name # 输出结果: FengZi # 示例2:输入数字 num = input('请输入内容:') print type(num) print num # 运行1 请输入内容:123 # 输出结果1: <type 'int'> 123 # 运行2: 请输入内容:1 + 3 # 输出结果2: <type 'int'> 4
- python2中输入函数有
- Python3
- python3中输入函数只有
input
- python3中的input效果与python2的raw_input效果一致,所有的输入数据都是字符串类型
# 示例 user_name = input('input your name:') print(type(user_name)) print(user_name) # 运行1 input your name::FengZi # 输出结果 <type 'str'> FengZi # 运行2 input your name:123 # 输出结果 <type 'str'> 123
- python3中输入函数只有
- 注意:python3中的input接收到的值均为字符串
- eval(str): 将数字类型的字符串转换成int或float
- int(str): 将字符串转换为数字型int
- str(int): 将数字型转换为字符串str
密文输入(密码不可见)
- 需要导入标准库 getpass
import getpass username = input("UserName:") password = getpass.getpass("Password:") print(username, password)
- getpass 在PyCharm不能运行,只能通过cmd的命令行运行
输出(print)
- python2
- python2中是print语句
- 语法
print '你要输出的内容'
- 示例
# 输出一个值 print 10 # 输出一个变量 num = 100 print num # 输出多个变量 num2 = 200 print num, num2 # 格式化输出 name = 'FengZi' age = 36 print '我的名字是:', name, ',年龄是:', age print '我的名字是:%s,年龄是:%d'%(name, age) print '我的名字是:{0},年龄是:{1}'.format(name, age) # 输出到文件中 f = open('test.txt','w') print >>f, '要写入到文件中的内容' f.close() # >>:是重定向符号 # 输出不自动换行 print '1', print '2', print '3', # 输出多个值,使用分隔符进行分隔 # python2中并不能直接设置分隔符,只能通过字符串的join函数进行拼接再打印 print '-'.join(['a','b','c'])
- python3
- python3中是print函数
- 语法
print(values, sep, end, file, flush) # 参数 # values:要输出的值,多个值使用‘,’进行分隔 # sep:分隔符,多个值被输出时,值与值之间会添加指定的分隔符 # end:结束符,输出完毕之后,会一指定的字符结束,默认是换行'\n' # file:指定输出的目标,默认是标准的输出到控制台,还可以是一个可写入的文件句柄 # flush:指定是否立即输出,值是一个bool类型
- 示例
# 输出一个值 print(10) # 输出一个变量 num = 100 print(num) # 输出多个变量 num2 = 200 print(num, num2) # 格式化输出 name = 'FengZi' age = 36 print('我的名字是:', name, ',年龄是:', age) print('我的名字是:%s,年龄是:%d'%(name, age)) print('我的名字是:{0},年龄是:{1}'.format(name, age)) print(f'我的名字是:{name},年龄是:{age}') # 输出到文件中 f = open('test.txt2','w') print('要写入到文件中的内容', file=f) f.close() # 输出不自动换行 print('1', end=',') print('2', end=',') print('3', end=',') # 输出多个值,使用分隔符进行分隔 print('a', 'b', 'c', sep='_')
占位符
- 占位格式符%
name = 'FengZi' age = 36 print('我的名字是%s,年龄是%d'%(name, age)) # 输出结果 我的名字是FengZi,年龄是36
- 占位符完整格式
%[(name)][flags][width][.precision]typeCode
# 参数说明
# 使用中括号[]包含的参数部分代表是可选
# (name):根据指定的名称(key),查找对应的值,格式化到字符串当中
# width:表示设置输出内容的宽度(字符个数)
# flags:
# 空 # 表示右对齐
# - # 表示左对齐
# 空格 # 表示在正数的左侧填充一个空格,与负数的-对齐
# 0 # 表示使用0填充
# .precision:表示设置小数点后的精度
# typeCode:表示输出的类型
# i/d # 将整数、浮点数转换成十进制表示,并将其格式化到指定位置
# o # 将整数转换成八进制表示,并将其格式化到指定位置
# x # 将整数转换成十六进制表示,并将其格式化到指定位置
# e # 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e)
# E # 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写e)
# f # 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位)
# F # 同上
# g # 自动调整将整数、浮点数转换成浮点型或科学计数法表示(超过6位数用科学计数法)
# G # 同上
# s # 获取传入对象的__str__方法的返回值,并将其格式化到指定位置
# r # 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置
# c # 整数:将数字转换成其unicode对应的值,10进制范围为0<=i<= 1114111(py2.7则只支持0~255);字符:将字符添加到指定位置
# % # 当字符串中存在格式化标志%时,需要用%%表示个百分号
# 注意:Python中百分号格式化是不存在自动将整数转换成二进制的表示方式(%b 这个执行会报错)
- 示例
# %[(name)][flags][width][.precision]typeCode # (name):根据指定的名称(key),查找对应的值,格式化到字符串当中 print('我的名字是%(name)s,年龄是%(age)d' % ({'name': '疯子', 'age': 36})) # 输出结果 >> 我的名字是疯子,年龄是36 # width:表示设置输出内容的宽度(字符个数) num = 10 print('%d' % num) print('%3d' % num) print('%5d' % num) # 输出结果 # 10 # 10 # 10 # flags: num = 10 num2 = -10 print('%12d' % num) # 空 # 表示右对齐 print('%-12d' % num) # - # 表示左对齐 # 输出结果 # 10 # 10 print('% d' % num) # 空格 # 表示在正数的左侧填充一个空格,与负数的-对齐 print('%d' % num2) print('%d' % num) # 输出结果 # 10 # -10 # 10 # 输出时间格式 # 05:08 min = 5 sec = 8 print('%d:%d' % (min, sec)) print('%2d:%2d' % (min, sec)) print('%02d:%02d' % (min, sec)) # 输出结果 # 5:8 # 5: 8 # 05:08 # .precision:表示设置小数点后的精度 score = 59.9 print('%f' % (score)) print('%.2f' % (score)) # 输出结果 # 59.900000 # 59.90 # typeCode:表示输出的类型 num1 = 100111111 num2 = 100.11111 print('%i' % num1) # 将整数、浮点数转换成十进制表示,并将其格式化到指定位置 print('%d' % num1) # 将整数、浮点数转换成十进制表示,并将其格式化到指定位置 print('%o' % num1) # 将整数转换成八进制表示,并将其格式化到指定位置 print('%x' % num1) # 将整数转换成十六进制表示,并将其格式化到指定位置 print('%e' % num1) # 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(小写e) print('%E' % num1) # 将整数、浮点数转换成科学计数法,并将其格式化到指定位置(大写e) print('%f' % num2) # 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位) print('%F' % num2) # 将整数、浮点数转换成浮点数表示,并将其格式化到指定位置(默认保留小数点后6位) print('%g' % num2) # 自动调整将整数、浮点数转换成浮点型或科学计数法表示(超过6位数用科学计数法) print('%G' % num2) # 自动调整将整数、浮点数转换成浮点型或科学计数法表示(超过6位数用科学计数法) print('%s' % '疯子') # 获取传入对象的__str__方法的返回值,并将其格式化到指定位置 print('%r' % '疯子') # 获取传入对象的__repr__方法的返回值,并将其格式化到指定位置 print('%c' % 19999) # 整数:将数字转换成其unicode对应的值,10进制范围为0<=i<= 1114111(py2.7则只支持0~255);字符:将字符添加到指定位置 # 输出结果 # 100111111 # 100111111 # 575711407 # 5f79307 # 1.001111e+08 # 1.001111E+08 # 100.111110 # 100.111110 # 100.111 # 100.111 # 疯子 # '疯子' # 丟 num = 60 # 输出:占比:60% print('占比:%d%%' % num) # 当字符串中存在格式化标志%时,需要用%%表示个百分号 # 输出结果 # 占比:60%