Python 函数(Function) 之 【print 输出】 【 input 输入】 【eval】

1. 输出函数 print

语法结构

  • 基本语法:
    print(输出内容)
    
  • 完整语法:
    print(*values, sep=' ', end='\n', file=sys.stdout, flush=False)
    
    其中:
    • values:表示可以一次性输出多个对象,多个对象之间用英文逗号 , 隔开。
    • sep:用来间隔多个对象,默认值是一个空格,可以自定义为其他字符。
    • end:用来设定输出的结尾,默认是换行符 \n,可以自定义为其他字符。
    • file:指定输出目标,默认是控制台,也可以指定为文件。

示例

输出多个内容

print('哈哈哈', '嘻嘻嘻', '嘿嘿嘿')  # 默认以空格分隔
print('哈哈哈', '嘻嘻嘻', '嘿嘿嘿', sep=',')  # 自定义分隔符为逗号

输出:

哈哈哈 嘻嘻嘻 嘿嘿嘿
哈哈哈,嘻嘻嘻,嘿嘿嘿

自定义结尾

print("Hello", end=',')
print('哈哈哈', '嘻嘻嘻', '嘿嘿嘿', sep='|')

输出:

Hello,哈哈哈|嘻嘻嘻|嘿嘿嘿

输出到文件

fp = open("output.txt", 'w')  # 打开文件,准备写入
print("Hello, World!", file=fp)  # 将内容输出到文件
fp.close()  # 关闭文件

使用 chr()ord() 函数

  • chr():将 Unicode 码点转换为对应的字符。
  • ord():将字符转换为对应的 Unicode 码点。
print(ord('霍'))  # 输出霍的 Unicode 码点
print(chr(38669))  # 将码点 38669 转换为字符
print(chr(98))  # 将码点 98 转换为字符
print(ord("b"))  # 输出字符 b 的 Unicode 码点

输出:

38669
霍
b
98

2. 输入函数 input

语法结构

input(prompt)
  • prompt:提示文字,用于提示用户输入内容。

完整语法

input(prompt=None)
  • prompt:可选参数,用于在控制台显示提示信息。

示例

获取用户输入

name = input("请输入您的姓名:")
print("我的姓名是:", name)  # 使用逗号分隔
print("我的姓名是:" + name)  # 使用字符串拼接

输出:

请输入您的姓名:kyle
我的姓名是: kyle
我的姓名是:kyle

输入整数类型的数据

num = input("请输入您的幸运数字:")
print("您的幸运数字是:" + num)  # 此时 num 是字符串类型
num = int(num)  # 将字符串转换为整数
print("您的幸运数字是:", num)  # 使用逗号分隔

输出:

请输入您的幸运数字:7
您的幸运数字是:7
您的幸运数字是: 7

3. eval 函数

语法结构

eval(expression, globals=None, locals=None)
  • expression:字符串形式的 Python 表达式。
  • globalslocals:可选参数,用于指定全局和局部命名空间。

功能

  • eval 函数用于将字符串作为代码执行。
  • 它会去掉字符串最外侧的引号,并按照 Python 语句的方式执行去掉引号后的字符串。

示例

使用 eval 执行字符串表达式

s = '3.14 + 3'
print(s, type(s))  # 输出字符串类型
a = eval(s)  # 执行字符串表达式
print(a, type(a))  # 输出结果和类型

输出:

3.14 + 3 <class 'str'>
6.14 <class 'float'>

input 函数结合使用

avg = eval(input("请输入您的年龄:"))  # 将输入的字符串转换为数值类型
print(avg, type(avg))  # 输出结果和类型

输出:

请输入您的年龄:23
23 <class 'int'>

注意事项

  • 使用 eval 函数时需要谨慎,因为它会执行任意代码,可能会导致安全问题。
  • 如果输入的内容不是有效的 Python 表达式,会抛出错误。

错误示例

print(eval('北京欢迎你'))  # 报错:NameError: name '北京欢迎你' is not defined
  • 错误原因:去掉引号后,“北京欢迎你” 被当作变量名,但该变量未定义。

优化后的代码:

hello = '北京欢迎你'
print(eval('hello'))  # 正确:去掉引号后,hello 是变量

输出:

北京欢迎你

posted @ 2024-11-28 09:14  kyle_7Qc  阅读(105)  评论(0)    收藏  举报