python中input()、print()用法

1.input()函数常涉及的强制类型转换

第一种是在键入时进行转换,例如:a = int(input())

1 a=int (input())
2 b=int (input())
3 a=a +b
4 print (a)

第二种则是在使用时进行转换。这样赋值的数据存储的形式仍是input()返回的字符串类型,仅仅在使用时转换

1 a input ()
2 b=input()
3 a int (a)+int(b)
4 print (a)

2、带提示的input()函数

1 >>>name,=input('请输入您的名字:')
2 请输入您的名字:A1ex
3 >>>print (name)
4 Alex
5>>>number=iput心请输入'+str(name)+同学的学号:')
6请输入A1ex同学的学号:

3、利用input()一次性输入多个变量值

利用split()函数进行输入,同时,我们不仅可以利用split()函数一次性输入多个数,我们还可以设置分隔符,除了传统的空格形式,也可以用逗号“,”

1 >>>a,b,c=input(以空格隔开:').split(0
2 以空格隔开:123
3 >>>print (a,b,c)
4 123
5 >>>d,e,f=input(以逗号隔开:').sp1it(",“)
6 以逗号隔开:4,5,6
7 >>print (d,e,f)
8 456

split()函数返回的是一个列表,spring当然能被转换成int型,但是列表是没法被这样直接转换的,所以我们需要用另一个函数map()来实现多输入的强制类型转换,
map()函数接受两个接收两个参数,一个是函数,一个是序列

1 >>>d,e,f=map(int,input('以逗号隔开:').split(",“))
2 以逗号隔开:1,2,3
3 >>>print (type(d))
4 <class'int'>

4. print()函数用法:

函数语法:

1 print(*objects, sep=' ', end='\n', file=sys.stdout,flush=Flase)

objects – 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔

sep – 用来间隔多个对象,默认值是一个空格

end – 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串

file – 要写入的文件对象

flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新

1 import time
2 print('---RUNROBOT EXAMPLE :Loading 效果---')
3 print('Loading',end='')
4 for i in range(13):
5     print('.',end='',flush=True)
6     time.sleep(0.5)

5.格式化输出:

在C语言中,我们可以使用printf("%-.4f",a)之类的形式,实现数据的的格式化输出

在python中,我们同样可以实现数据的格式化输出

1 s = 'Duan Yixuan'
2 x = len(s)
3 print('The length of %s is %d' % (s,x))
4 # 和C语言的区别在于,Python中格式控制符和转换说明符用%分隔,C语言中用逗号。

设置宽度与精度:

1 PI = 3.141592653
2 print('%10.3f' % PI)  #字段宽10,精度3
3 # 输出:     3.142
4 
5 #精度为3,所以只显示142,指定宽度为10,所以在左边需要补充5个空格,以达到10位的宽度

转换标志:-表示左对齐;+表示在数值前要加上正负号;" "(空白字符)表示正数之前保留空格();0表示转换值若位数不够则用0填充

 1 PI = 3.1415926
 2 print('%-10.3f' % PI)  #左对齐,还是10个字符,但空格显示在右边。
 3 # 3.142
 4 
 5 PI = 3.1415926
 6 print('%+f' % PI)  #显示正负号  #+3.141593
 7 # 类型f的默认精度为6位小数
 8 
 9 PI = 3.1415926
10 print('%010.3f' % PI) #字段宽度为10,精度为3,不足处用0填充空白
11 # 000003.142   0表示转换值若位数不够则用0填充

6.Python常用格式字符:

%s 字符串采用str()的显示
%x 十六进制整数

%r 字符串(repr())的显示
%e 指数(基底写e)

%c 单个字符
%E 指数(基底写E)

%b 二进制整数
%f,%F 浮点数

%d 十进制整数
%g 指数(e)或浮点数(根据显示长度)

%i 十进制整数
%G 指数(E)或浮点数(根据显示长度)

%o 八进制整数
%% 字符%

7. 输出列表元素

 1 l = [1,2,3,4]
 2 for i in l:
 3     print(i)
 4 # 一行一个,自动换行
 5 
 6 l = [1,2,3,4]
 7 for i in l:
 8     print(i,end=' ')
 9 # 以空格为分隔符,不换行,但是最后有空格
10 
11 l = [1,2,3,4]  
12 print(" ".join(str(i) for i in l))
13 # 以空格为分隔符,最后无空格    
14 
15 for x in list:
16     print(x, end=' ' if x != list[-1] else '')
17 # 判断该元素是不是列表的最后一个元素,根据判断结果输出分隔符
18 
19 a = list()
20 print(*a,sep=' ')
21 # 一行输出列表,用空格隔开

8. join()函数:

将一个包含多个字符串的可迭代对象,转为用分隔符s连接的字符(不能是数字)

1 a = ["he", "l", "l", "o"]
2 print(" ".join(a))
3 # 输出:he l l o
4 # 注意最后没有空格

9. fomat()函数:

1.通过位置来填充字符串

1 print('hello {0} i am {1}'.format('world','python'))    
2 # 输入结果:hello world i am python
3 print('hello {} i am {}'.format('world','python') ) 
4 # 输入结果:hello world i am python
5 print('hello {0} i am {1} . a now language-- {1}'.format('world','python')
6 # 输出结果:hello world i am python . a now language-- python

foramt会把参数按位置顺序来填充到字符串中,第一个参数是0,然后1 ……
也可以不输入数字,这样也会按顺序来填充
同一个参数可以填充多次,这个是format比%先进的地方

2.通过key来填充

1 obj = 'world'
2 name = 'python'
3 print('hello, {obj} ,i am {name}'.format(obj = obj,name = name))
4 # 输入结果:hello, world ,i am python

3.通过列表填充

1 list=['world','python']
2 print('hello {names[0]}  i am {names[1]}'.format(names=list))
3 # 输出结果:hello world  i am python
4 print('hello {0[0]}  i am {0[1]}'.format(list)) 
5 # 输出结果:hello world  i am python

4.通过字典填充

1 dict={‘obj’:’world’,’name’:’python’} 
2 print(‘hello {names[obj]} i am {names[name]}’.format(names=dict)) 
3 # hello world i am python 
4 # 注意访问字典的key,不用引号的

5.通过类的属性填充

1 class Names():
2     obj='world'
3     name='python'
4 print('hello {names.obj} i am {names.name}'.format(names=Names))
5 # 输入结果hello world i am python

 

posted @ 2022-12-08 19:46  一划写雨  阅读(2053)  评论(0)    收藏  举报