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
