打印输出和键盘输入
- 表达式和语句
- 函数
- 内置函数
- 函数调用、调用运算符、实参
- 使用print函数执行打印输出操作
- 使用print函数传递end参数和sep参数
- 使用input函数读取键盘输入
- 使用int函数将字符串转换为整数
- 使用float函数将字符串转换为浮点数
- 使用str函数将数值转换为字符串
- 使用bin函数、oct函数、hex函数将整数转换为字符串
- 使用format方法格式化字符串
- 幻数
- 用变量存储常量
- 程序编码的指定与UTF-8
2.1 打印输出
2.1.1 使用print函数执行打印输出操作
实际上,从0开始编写一个能够执行打印输出操作的程序极其困难,所以一般会使用名为print的函数。
函数像是一种专门执行处理的零件。在使用它之前,需要进行函数调用。像print这种默认可以使用的函数称为内置函数。Python中也有非内置函数的概念。
2.1.2 打印输出和换行
print('你好')
print('初次见面')
运行后两次调用分别在两行进行输出:
你好
初次见面
- 有时,我们希望程序在打印输出时不执行换行操作,那么可以使用以下方式:
print('你好', end='')
print('初次见面')
第一行的print函数输出完成后没有换行,直接执行第二行的语句
你好初次见面
- 如果只想换行,可以调用print函数,而不传入任何参数。
2.2 读取键盘输入
2.2.1 使用input函数读取通过键盘输入的字符串
print('你的名字是:' end='')
name=input()
print('你好', name, '。')
input()函数在读取通过键盘输入的字符串后会将该字符串返回。也可以使用以下方式调用input函数:
input('显示的字符串')
使用这种方式时,程序会在屏幕上输出显示的字符串,然后读取字符串。
如何打印多个字符串
上面的示例中,最后一行的print函数的实参有3个,分别是
你好
、name
、。
,像这样,传递多个用逗号分隔的实参时,会在各字符串之间用空格作为分隔符。如果不希望使用空格作为分隔,则可参考换行符的方式在参数列表中指定'sep=''
,这样多个字符串就会以指定字符串进行分隔,其中,sep可以指定任意字符串。
2.2.2 字符串转换为数值
# 读取两个整数并对其进行加减乘除运算(其一:读取字符串并将其转换为整数)
s = input('整数a:')
a = int(s)
s = input('整数b:')
b = int(s)
print('a + b 等于', a + b, '。')
print('a - b 等于', a - b, '。')
print('a * b 等于', a * b, '。')
print('a / b 等于', a / b, '。')
print('a // b 等于', a // b, '。')
print('a % b 等于', a % b, '。')
print('a ** b 等于', a ** b, '。')
执行结果:
整数a:1
整数b:2
a + b 等于 3 。
a - b 等于 -1 。
a * b 等于 2 。
a / b 等于 0.5 。
a // b 等于 0 。
a % b 等于 1 。
a ** b 等于 1 。
在以上示例中,读取的字符串'1'赋值给了变量s,虽然字符串的内容为数字字符,但是变量本身的类型不是数值(int或float),这里需要使用int()
函数将字符串类型转换为int型整数。
另外,表示二进制整数、八进制整数和十六进制整数的字符串通过int(字符串, 基数)
进行转换。在将字符串转换为float型实数时使用float()
函数。
在调用表达式执行转换操作时,如果传递的字符串不能转换为数值,则会产生错误。
字符串和数值之间不能直接使用
+
拼接
2.2.3 使用format方法格式化字符串
由于字符串和数值类型不能直接拼接,所以在输出时会很麻烦,而python提供了比较简便的方法用于字符串和其他类型字符进行拼接。
# 显示两个整数的和
a = int(input('整数a:'))
b = int(input('整数b:'))
print('a和b的和是{}。'.format(a + b))
print('{}和{}的和是{}。'.format(a, b, a + b))
运行结果:
整数a:5
整数b:5
a和b的和是10。
5和5的和是10。
上述程序使用字符串.format(并列的实参)
进行打印输出,format方法先将实参列表中的值转换为str类型,再按顺序替换原字符串中的{}
,最终返回替换后的字符串,此外,format不仅能执行插入操作,还可以执行各种格式化操作,比如居左、居中、居右和指定位数等,
print是函数,而format是方法,函数与方法有许多共同点,比如在调用时都会在末尾加上(),不过二者也有许多不同点。后续教程中会对二者进行详细讲解。
除了format方法外,还可以使用运算符%
和使用f字符串。
2.2.4 用变量表示常量
# 计算圆的周长和面积(其一:用浮点数字面量表示圆周率)
r = float(input('半径:'))
print('圆的周长是', 2 * 3.14 * r, '。')
print('面积是', 3.14 * r * r, '。')
运行结果:
半径:5
圆的周长是 31.400000000000002 。
面积是 78.5 。
该程序根据公式计算圆的周长和面积,圆周率π为3.14,但是π的值并不是3.14,如果想更精确地计算圆的周长和面积,可以将圆周率的值改为更加精确的值,如果修改以上程序,需要修改两处位置,但在大规模的数值计算程序中,π的值可能有成百上千处,因此我们需要将这种需要多次用到的常量存放在变量中,这样,在需要修改这一常量时,就可以只修改一处,不用考虑有多少地方用到了这个值。
总结
- Python的脚本程序可以保存为扩展名为.py的脚本文件
- 程序内的语句基本上按照先后顺序执行
- 脚本程序内以符号
#
开头的一行内容称为注释,用来向包含程序开发者在内的程序读者传达必要的信息。 - 注释和空行对程序的执行没有影响。
- Python提供了许多使用方便的内置函数,如print函数和input函数。
- 当程序请求函数进行某项处理时,一般会使用调用运算符,以
函数名(实参列表)
的形式调用函数 - 把待显示的任意个字符串作为实参传递给print函数,然后调用print函数,就能输出字符串。实参中包含换行符时可以使字符串换行显示
- print函数在输出接收到的参数时,会输出空格来分隔不同参数,最后输出换行符作为结尾,打印输出时在参数中使用
sep='字符串'
可以更改显示的分隔符,使用end='字符串'
可以更改显示时的结尾字符 - input函数会读取通过键盘输入的字符串并返回字符串,函数读取到行末的换行符,但返回的字符串中不包含换行符。另外,如果将字符串作为实参传递给input函数,程序会先输出该字符串,然后读取键盘的输入。
- 将字符串转换为整数时,在十进制数的情况下使用str函数,在二进制数的情况下使用bin函数,在八进制数的情况下使用oct函数,在十六进制数的情况下使用hex函数。
- 调用format方法后,我们就可以在字符串中插入其它格式化的字符串或数值,从而生成新的字符串。format方法的调用形式是
字符串.format(并列的实参)
,字符串中包含{}
- 在脚本程序中直接使用数值字面量可能会产生意义不明的幻数,因此,应使用大写字母和下划线对变量进行命名,然后使用赋值后的变量。