打印输出和键盘输入

  • 表达式和语句
  • 函数
  • 内置函数
  • 函数调用、调用运算符、实参
  • 使用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(并列的实参),字符串中包含{}
  • 在脚本程序中直接使用数值字面量可能会产生意义不明的幻数,因此,应使用大写字母和下划线对变量进行命名,然后使用赋值后的变量。
最后修改:2022 年 12 月 31 日
如果觉得我的文章对你有用,请随意赞赏