python学习笔记之五(input输入、print输出和字符串格式化)

 

目录

一、输入

1、input()函数

2、单行输入

3、多行输入

4、循环输入

二、输出

1、print()函数

2、不同数据类型的变量输出

3、print()的不同用法

4、%格式字符类型

三、字符串的格式化


一、输入

1、input()函数

input([prompt])

prompt:可选参数,提示信息,为字符串类型

返回值:为字符串类型

s = input("请输入:")
>>>请输入:12
print(s)
>>>"12"


s = input()
>>>'abc'
print(s)
>>>"abc"

2、单行输入

有时候我们会碰到单行输入多个数据的情况,这个时候可以通过字符串分割的方式来获取每个数据

#要求输入的为整数,可以通过int()函数强行转成整型
a = int(input())
>>>1  #输入
print(a)
>>>1   #输出

#单行输入多个数据
a, b, c = input().split()
>>>1 2 3  #输入
print(a, b, c)
>>>'1' '2' '3'  #输出

#如果输入的是多个数字,可以通过map函数
a, b, c = list(map(int, input().split()))
>>>1 2 3   #输入
print(a, b, c)
>>>1 2 3   #输出
print(a + b + c)
>>>6    #输出

3、多行输入

因为每个换行会作为input结束的标志,所以我们需要多行输入,就需要添加多个input()函数

#3组数据,分别3行,每组有2个数
for i in range(3):
    a, b = list(map(int, input().split()))
    print(a + b)
>>>1 2  #输入
3 4
5 6
>>>3   #输出
7
11

4、循环输入

有时候我们还会碰到无止境的输入,若干数据等等,则可以使用tyr...except...异常处理来解决,如何终止输入呢,只需要连续按两次回车即可,也就是当系统未检测到输入的时候会触发异常跑到except来结束循环

try:
    while True:
        s = input()
        print(s)
except:
    pass

二、输出

1、print()函数

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

objects:可变参数,表示输出对象,可以有多个输出对象,之间用逗号分隔

sep:表示输出多个对象时,每个对象之间用什么进行分隔,默认为空格

end:表示输出结束后以什么结尾,默认为换行

file:写入文件对象

#输出数字
print(1)
>>>1

#输出字符串
print("hello world")
>>>hello world

#输出多个对象
a = 2
b = "hello"
print(a,b)
>>>2 "hello"
print(a,b,sep=",")
>>>2,hello

#重复输出多个元素
s = "abc"
for i in s:
    print(i)
>>>a
b
c
#上面的输出会发现每次输出结束都会换行,所以可以利用end来改变输出结束时不换行
for i in s:
    print(i,end="")
>>>abc

2、不同数据类型的变量输出

python支持各种数据类型的输出,整数、布尔型、列表、元组、字符串、字典等等

a = 12
print(a)
>>>12

a = "hello"
print(a)
>>>"hello"

a = [1, 2, 3, 4]
print(a)
>>>[1,2,3,4]

a = (1, 2, 3, 4)
print(a)
>>>(1,2,3,4)

a = {'a':1, 'b':2}
print(a)
>>>{'a':1, 'b':2}

3、print()的不同用法

python支持print()多种输出和格式化方式,以下将对自己使用过的进行一个总结

a = 1
b = "hello"
#第一种方法
print(a,b)
>>>1 "hello"

#第二种方法
print("%d %s" %(a, b))
>>>1 "hello"

#第三种方法
print("{}-{}".format(a, b))
>>>>>>1-"hello"

#第四种方法,此方法在py3.6以上适用
print(f"{a}{b}")
>>>1"hello"

4、%格式字符类型

官方文档:% (String Formatting Operator) — Python Reference (The Right Way) 0.1 documentation

格式为:

"...%[key][flags][width][.precision][length type]conversion type..."% values

%:必填,说明是占位符

key:可选,映射的键,由带括号的字符序列组成,一般用于字典中取对应Key的值

flags:可选,转换标志,包括'#','0' '-' ' ' '+',基本也是用不到的

width:可选,最小字段宽度,如果指定为'*',则实际宽度会从值

precision:可选,精度,写法为.precision,如.2f表示精度为2也就是保留两位小数

length type:可选,官网的解释是长度修改器,但是具体用法未找到合适的说明

conversion type:必选,转换类型,以下表格介绍

values:必填,替换转换类型的值

Conversion Types
类型说明
d/i/u有符号整数十进制
o有符号八进制值
x/X十六进制
e/E浮点指数格式,精度默认为6
f/F浮点十进制格式,精度默认为6
g/G浮点格式,会去掉小数点后无效的0,当数值比较大的时候会自动以浮点指数格式输出,精度默认为6
c单个字符格式
s字符串格式
%输出%字符
a = 12
b = 12.0123
c = 1.5600
d = 5678.1234
e = "hello world"
f = 'A'
print("%d 0x%x %o" %(a,a,a))
>>>12 0xc 14  
print("%f %.2f %g  %e" %(c,b,c,d))
>>>1.560000 12.01 1.56  5.678123e+03
print("%s %c %%" %(e,f))
>>>hello world A %

一些示例key、flag、width的用法:

#0表示填充,3表示最小宽度width
a = 1
print("%03d" %a)
>>>012

#flag为‘-’表示左对齐,配合width使用
a = "hello"
print("%5s" %a)
>>>"     hello"
print("%-5s" %a)
>>>"hello     "

#flag为‘+’表示输出正负数,如果整数为整数在数字前面加+号,如果为负数,就加-号
a = 1
b = -1
print("%+d %+d" %(a,b))
>>>+1 -1

#flag为‘#’,作用为自动使用替代形式,比如十六进制输出,自动补全0x
a = 17
print("%#x" %a)
>>>0x11

#对于字典对应值的输出,可以用Key,输出对应key的值
d = {'a':1, 'b':2}
print("%(a)s" %d)
>>>1

三、字符串的格式化

{<参数序号>:<格式控制标记>}

:<填充><对齐><宽度><,><.精度><类型>

引导

符号

用于填充的

单个字符

<左对齐

>右对齐

^居中对齐

槽设定的输出宽度数字的千位分隔符

浮点数小数精度或

字符串最大输出长度

整数类型

b,c,d,o,x,X

浮点数类型

e,E,f,%

一些简单的示例,类型的方法和%的类型一致 

#引导符号前面的数字控制输出顺序,如果不写则为默认{}的顺序输出
a = 1
b = 2
c = "hello"
print("{1} {0} {2}".format(a,b,c))
>>>2 1 hello

print("{0:=^20}".format("PYTHON"))
>>>'=======PYTHON======='

#当设置了宽度,并未选择对齐方式时,默认为左对齐
print("{0:10}".format("PYTHON"))
>>>'PYTHON    '

print("{:,.2f}".format(12345.6789))
>>>'12,345.68'

print("{:%}".format(0.3))
>>>30.000000%
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值