Python 1-03 输入与输出

Python 输入和输出

一、 input 输入函数 (等待用户输入)

Python 内置函数 input:获取用户输入,保存成一个字符串。

>>> name = input("Please input your name: ")
Please input your name: jack
>>> name
'jack'
>>> type(name)
<class 'str'>

>>> age  = input("Please input your age: ")
Please input your age: 18
>>> age
'18'
>>> type(age)
<class 'str'>

>>> a = input("请输入一个字符:")
请输入一个字符:
>>> a
''

>>> a = input("请输入一个字符:")
请输入一个字符:   前后带有空白   
>>> a
'   前后带有空白   '

注:

1、input 函数里可以提供一个字符串,提示用户进行输入。input 函数的返回值赋值给前面的变量。
2、type() 是 Python 的内置函数,用于查看对象的数据类型。

1、对空输入进行处理

name = input("请输入你的姓名:")

if name == "":    #if not name:
	name = input("姓名不能为空,请重新输入:  ")

2、将字符串转换成数字类型

age = input("请输入你的年龄:")
age = int(age)   # 将字符串转化为整数  也可以用eval()函数

if age > 18:
    print("你已经成年!")
else:
    print("还没断奶?")

3、去除开头的空白 lstrip,去除结尾的空白 rstrip 以及去除两端的空白 strip

name = input("请输入你的姓名:")
name = name.strip()  # strip 的用法在字符串数据类型有讲述	
print(name)

4、判断输入的字符类型

前面我们在将字符串转化为整数用的是int()函数,这种方式有危险的,看下面的例子:

>>> s = "something"
>>> a = int(s)

对于包含字符、特殊字符的字符串就没办法转化了,会弹出异常错误。所以在使用 int 函数之前,要先对输入进行判断。我们修改一下上面的例子:

age = input("请输入你的年龄:  ")
# 使用 isdigit 函数判断输入是否全是数字格式 
if age.isdigit(): 
    age = int(age)   # 将字符串转化为整数
    print("你的年龄是: ", age)
else:
    print("输入不合法!")

5、input 函数有时可以巧妙地用于阻塞或暂停程序

print("程序前面部分执行完毕......")
input("请按回车继续......")       # 在这里程序会暂停,等待你的回车动作
print("继续执行程序的后面部分......")

二、print 输入函数

1、可以打印字符串

>>> print('hello, world')

print() 函数也可以接受多个字符串,用逗号“,”隔开,就可以连成一串输出:

>>> print('The quick brown fox', 'jumps over', 'the lazy dog')
The quick brown fox jumps over the lazy dog

print()会依次打印每个字符串,遇到逗号“,”会输出一个空格。
print 函数的原型:

print(self, *args, sep=' ', end='\n', file=None)
sep参数: 分隔的符号,默认是一个空格;
end参数: 打印后的结束方式,默认为换行符\n。

如果,设置end=’’,则可以不换行,让print在一行内连续打印。

2、print() 也可以打印整数,或者计算结果:

>>> print(100 + 200)
300

因此,我们可以把计算100 + 200的结果打印得更漂亮一点:

>>> print('100 + 200 =', 100 + 200)
100 + 200 = 300

三、print 格式化输出

旧式字符串格式化

% 操作符也可以实现字符串格式化。它将左边的参数作为类似 printf() 式的格式化字符串, 而将右边的代入, 然后返回格式化后的字符串。
因为 str.format() 是比较新的函数,大多数的 Python 代码仍然使用 % 操作符。但是因为这种旧式的格式化最终会从该语言中移除, 应该更多的使用 str.format()。

print ("我叫 %s 今年 %d 岁!" % ('小明', 10))

首先构造一个字符串"我叫 %s 今年 %d 岁!",将其中需要用别的变量或值替代的部分,用%百分符加一个数据类型代号,比如%s、%d来代替。然后在字符串的后面用%加一个同样数量变量或值的元组。
也就是前面有多少个%符号,后面就要提供多少个参数值,每个参数值之间用逗号隔开,所有参数用圆括号括起来。每个参数与前面的%一一对应,并且数据类型也要能够合法对应。
python字符串格式化符号:
符 号 描述

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

格式化操作符辅助指令:
符号 功能

*	定义宽度或者小数点精度
-	用做左对齐
+	在正数前面显示加号( + )
<sp>	在正数前面显示空格
#	在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0	显示的数字前面填充'0'而不是默认的空格
%	'%%'输出一个单一的'%'
(var)	映射变量(字典参数)
m.n.	m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。

猜你喜欢

转载自blog.csdn.net/weixin_43955170/article/details/112467358
今日推荐