python输入与输出
admin
2023-07-23 13:22:05
0

python输出

python3中的输出

python3中的输出使用函数print(),示例如下:

>>> print('hello kitty')

print()也可接受多个参数,使用逗号隔开:

>>> print('hello','kitty')
hello kitty

可以看到字符串合并输出后,中间会模式使用逗号隔开~

print函数除了可以接收字符串外,也可以接收其他的数据类型

>>> print(1)               # 接收整数
1
>>> print(1+2)           # 表达式
3
>>> print([1,2,3])       # 列表
[1, 2, 3]
>>> print({'a':1,'b':2})  # 字典
{'a': 1, 'b': 2}
python2中的输出

python2中的输出使用print 加上 输出数据,示例如下:

>>> print 'hello kitty'

也可以接收多个参数:

>>> print '1+2 =',3
1+2 = 3

用法与python3中的print()函数基本相同~

python格式化输出

格式化输出字符串

>>> print('My name is %s' % ('abc'))
My name is abc

%表示格式化操作,% 前面的字符串中的%s(格式符) 使用 % 后面的字符串 'abc' 替换。

打印整数:

>>> print("I'm %d year old" % 18)     # 当只有一个值的时候,可以不适用小括号
I'm 18 year old

多个格式符:

>>> print("I'm %s. I'm %d year old" % ('abc', 18))
I'm abc. I'm 18 year old

多个格式符也可以使用字典来传递值:

>>> print("I'm %(name)s. I'm %(age)d year old" % {'name':'abc', 'age':18})
I'm abc. I'm 18 year old

格式符

%s    字符串 (采用str()的显示)
%r    字符串 (采用repr()的显示)
%c    格式化字符及其ASCII码
%b    二进制整数
%d    十进制整数
%u    格式化无符号整型
%o    格式化无符号八进制数
%x    格式化无符号十六进制数
%X   格式化无符号十六进制数(大写)
%e    用科学计数法格式化浮点数
%E    作用同%e,用科学计数法格式化浮点数
%f     格式化浮点数字,可指定小数点后的精度
%g    %f和%e的简写
%G    %f 和 %E 的简写
%%    字符"%"

 

格式符为真实值预留位置,并控制显示的格式。

可以用如下的方式,对格式进行进一步的控制:
%[(name)][flags][width].[precision]typecode
(name)为命名
flags可以有-,' '或0。若不写默认表示右对齐。- 表示左对齐。' '为一个空格,表示在正数的左侧填充一个空格,从而与负数 对齐。0表示使用0填充。
width表示显示宽度
precision表示小数点后精度

示例如下:

>>> print("%4d" % 5)                 #  flags不填(默认右对齐),width为4(总长为4位)
   5

>>> print("%-4d" % 5)               #  flags为 - ,表示左对齐
5

>>> print("%06d" % 5)               # 总长为6位,flags为0,即左边使用0填充
000005

>>> print('-- %f  --' % (1.23))       # 格式化浮点数
-- 1.230000  --

>>> print('-- %5.2f  --' % (1.2345))     # 总长5位,小数点后保留2位
--  1.23  --

>>> print('-- %05.2f  --' % (1.2345))    # 总长5位,小数点后保留2位,flags为0,左边使用0填充(小数点也占一位)
-- 01.23  --

Python中还有另一种格式化方式,利用format,这也是官方推荐的方式:

方式一:
>>> print("My name is {0}. I'm {1} year old. Hello {0} !!".format('baby', 18))
My name is baby. I'm 18 year old. Hello baby !!

方式二:
>>> print("My name is {name}. I'm {age} year old. Hello {name} !!".format(name='baby', age=18))
My name is baby. I'm 18 year old. Hello baby !!

python输入

python3中的输入

python3中的输入使用input(),将用户在终端的输入,存放到一个变量中

>>> name=input()
hello
>>> name
'hello'

input() 可以带上一个参数,作为用户输入时的提示信息,示例如下:

>>> name = input("What is your name?")
What is your name?abc
>>> name
'abc'

当输入的内容为密码之类的数据时,可以使用getpass模块,隐藏输入的数据:

>>> import getpass
>>> pwd=getpass.getpass('Enter your password:')
Enter your password:                     # 不显示密码
>>> pwd
'abcd'

不过这个貌似只能在python的交互模式下才能调试,在pycharm中无法实现~

Tip:不管用户输入的数据看上去是什么类型的,input() 都会当做字符串(str)进行处理~

>>> lst = input()
[1,2,3,4,5]
>>> type(lst)

>>> lst
'[1,2,3,4,5]'                # 注意两边的单引号,这是一个字符串,而不是列表

python2中的输入

python2中的raw_input用法与python3中的input() 类似:

>>> age = raw_input("How old are you?")
How old are you?12
>>> type(age)

Tip:raw_input也一样,会将用户输入的数据都当做字符串(str)处理。

python2中还可以用 input() 来接收用户的输入,这里的 input() 用法与python3中的 input() 有所区别

>>> name = input("What is your name?")
What is your name?baby                                # 这里输入的是 变量 baby,而不是字符串,由于 baby 变量没有定义,所以报错
Traceback (most recent call last):
  File "", line 1, in 
  File "", line 1, in 
NameError: name 'baby' is not defined
>>> name = input("What is your name?")
What is your name?'baby'                             # 这里输入的是 字符串 'baby',成功赋值~

>>> lst = input()
[1,2,3,4,5]                                                      # 输入的是 列表类型,lst变量即为列表~
>>> type(lst)

Tip:python2中的 input() 在接收用户输入的数据时,输入的是什么类型,就存放为什么类型。注意区别
.................^_^

相关内容

热门资讯

小伙凌晨酒店按摩从房间坠亡,酒... 一名“00后”小伙与同事聚餐饮酒后,凌晨前往一酒店接受按摩,却从酒店房间坠楼身亡。据酒店相关负责人以...
内塔尼亚胡称只要其在任以军就不... △内塔尼亚胡(资料图)当地时间24日,以色列总理内塔尼亚胡在以色列地方政府联合会上发表讲话,谈及以军...
瑞士谈判核心诉求为何?议长会否... 美伊瑞士谈判刚刚结束,双方对谅解备忘录各执一词。我在伊朗外交部新闻发布会现场提问:从瑞士谈判到阿曼磋...
鲁比奥:美伊本月底将继续技术磋... △鲁比奥(资料图)24日多方消息显示,美国国务卿鲁比奥表示,美国和伊朗技术团队将于6月底在瑞士继续举...
芯联集成200亿项目落地:12... 快科技6月24日消息,芯联集成近日发布对外投资进展公告,公司与芯联先进集成电路制造(绍兴)有限公司(...
刷新海洋机器人融资纪录后,他以... 来源:滚动播报 (来源:上观新闻) 依托长三角科创产业沃土,国内海洋智能装备赛道跑出新锐力量。今天...
2026年省管企业“科技创新与... 为进一步提升国资国企科技创新管理水平,推动企业规范开展科技创新活动,强化实践运用能力,切实以高质量创...
智平方郭彦东:机器人大脑不应只... “下一代机器人大脑不应只是算力和数据的竞赛。” 6月23日,具身智能机器人公司智平方创始人兼CEO郭...
在上海图书馆,翻开5G-A与一... 今年以来,我们能切身感受到AI正在全面加速,融入身边的工作与生活。全面养虾、AI视频席卷网络、一人公...
原创 诺... 最近科技圈的热闹,一半是苹果折叠屏的消息闹的,另一半,则是那个几乎被我们遗忘的名字——诺基亚。就在大...