首页 > 其他分享 >内置函数input

内置函数input

时间:2023-07-03 23:14:06浏览次数:27  
标签:内置 prompt 函数 用户 print input 输入

1. 通过help函数查看input的docstring

 1 # 1. 通过内置函数help查看input函数的docstring
 2 '''
 3 input(prompt='', /)
 4     Read a string from standard input.  The trailing newline is stripped.
 5     
 6     The prompt string, if given, is printed to standard output without a
 7     trailing newline before reading input.
 8     
 9     If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
10     On *nix systems, readline is used if available.
11 '''
12 help(input)

2. input函数的使用说明

input()函数是Python内置函数,用于从标准输入读取一个字符串。以下是input()函数的详细说明:

1 input(prompt='', /)
  • prompt(可选参数):用于指定在读取输入之前要打印到标准输出的提示字符串。默认为空字符串。

input()函数的工作原理如下:

  • 首先,它会将prompt参数的值打印到标准输出,提示用户输入。
  • 然后,它从标准输入读取用户的输入,并返回一个字符串,会自动去掉末尾的换行符。

input()函数提供一些特殊操作和异常处理:

  • 如果用户按下EOF(在Unix系统中是Ctrl-D,Windows系统中是Ctrl-Z+回车),则会引发EOFError异常。
  • 在Unix系统上,如果可用,会使用readline库来提供更高级的文本编辑功能。
    1 name = input("请输入你的名字:")
    2 age = input("请输入你的年龄:")
    3 print(type(name))
    4 print(type(age))  # 在等待用户输入时,用户敲了ctrl + D,就会触发EOFError错误

       这些说明解释了input()函数的用法、行为和异常处理。你可以根据需要使用prompt参数来自定义提示信息。要处理EOFError异常,你可以使用try-except结构来捕获它并进行相应的处理。

3. 示例

 1 '''
 2 input是程序与人交换的桥梁
 3 遇到input函数,程序就会等待用户的输入,敲回车结束等待
 4 input会把用户的输入转变为python中的字符串对象
 5 '''
 6 
 7 # 1. 通过内置函数help查看input函数的docstring
 8 '''
 9 input(prompt='', /)
10     Read a string from standard input.  The trailing newline is stripped.
11     
12     The prompt string, if given, is printed to standard output without a
13     trailing newline before reading input.
14     
15     If the user hits EOF (*nix: Ctrl-D, Windows: Ctrl-Z+Return), raise EOFError.
16     On *nix systems, readline is used if available.
17 '''
18 help(input)
19 
20 # 2. 提示语 & 返回类型(字符串类型)
21 name = input("请输入你的名字:")
22 age = input("请输入你的年龄:")
23 print(type(name))  # <class 'str'>
24 print(type(age))  # <class 'str'>
25 
26 # 3. input函数返回值类型为str,实际研发中需要转换为其他类型
27 age = int(input("请输入您的年龄:"))  # 字符串类型转换为int类型
28 print("您的年龄是:", age)
29 
30 # 4. 提示信息 + 数据类型转换 + 异常处理
31 '''
32 crtl + D报错信息
33 Traceback (most recent call last):
34   File "F:\allen_class\python\base\013内置函数input.py", line 41, in <module>
35     print("您输入的数字是:", num)
36                       ^^^
37 NameError: name 'num' is not defined. Did you mean: 'sum'?
38 '''
39 while True:
40     try:
41         num = float(input("请输入一个数字:"))
42         break
43     except ValueError:
44         print("输入有误,请重新输入。")
45     except EOFError:
46         print("请不要敲crtl + D")
47         # continue  #  无法进入下一轮迭代
48         break
49 print("您输入的数字是:", num)

4. 最佳实践

在使用 Python 中的 input() 函数时,以下是一些最佳实践:

  1. 提供良好的提示信息:在调用 input() 函数之前,最好提供一个清晰明确的提示信息,以便用户知道他们需要输入什么。例如:name = input("请输入您的姓名:")

  2. 处理输入类型错误:input() 函数始终返回字符串,无论用户输入是什么类型。如果你期望输入一个数字,你可能需要将返回的字符串转换为相应的数据类型。例如:age = int(input("请输入您的年龄:"))

  3. 异常处理:在处理用户输入时,要考虑可能发生的异常情况。例如,用户可能输入一个无效的数字字符串,或者在输入过程中意外中断。使用 try-except 块来捕获可能引发的异常并进行适当的处理。

  4. 输入验证:根据程序的需求,可以对用户输入进行一些验证。例如,如果需要一个正整数输入,可以添加一个验证步骤确保用户输入的是一个有效的正整数。

  5. 提供容错机制:考虑到用户可能会输入无效的或者意外的内容,你可以提供适当的容错机制来处理这些情况。例如,给出一个错误消息并要求用户重新输入。

总的来说,最佳的实践是根据你的需求来合理使用 input() 函数,并在代码中添加适当的错误处理和验证步骤,以提高用户体验并确保程序的稳定性。

 

标签:内置,prompt,函数,用户,print,input,输入
From: https://www.cnblogs.com/allenxx/p/17524381.html

相关文章

  • C++面试八股文:如何实现一个strncpy函数?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第31面:面试官:strcpy函数使用过吧?二师兄:用过。面试官:这个函数有什么作用?二师兄:主要用做字符串复制,将于字符从一个位置复制到另一个位置。面试官:strncpy函数也使用过吧,和strcpy有何不同?二师兄:strncpy多了一个size_t的参数,用于避......
  • 40.什么情况下会调用拷贝构造函数
    40.什么情况下会调用拷贝构造函数用类的一个实例化对象去初始化另一个对象的时候函数的参数是类的对象时(非引用传递)函数的返回值是函数体内局部对象的类的对象时,此时虽然发生(NamedreturnValue优化)NRV优化,但是由于返回方式是值传递,所以会在返回值的地方调用拷贝构造函数......
  • 34.C++有哪几种的构造函数
    34.C++有哪几种的构造函数C++中的构造函数可以分为4类:默认构造函数:在没有显式定义构造函数时,C++会自动生成一个默认构造函数,该函数没有参数,不执行任何操作。初始化构造函数(有参数)拷贝构造函数:当使用现有对象初始化新对象时,拷贝构造函数被调用。它的语法是在函数声明时使用一......
  • 13.宏定义和函数有何区别?
    宏在预处理阶段完成替换,之后被替换的文本参与编译,相当于直接插入了代码,运行时不存在函数调用,执行起来更快;函数调用在运行时需要跳转到具体调用函数。宏定义属于在结构中插入代码,没有返回值;函数调用具有返回值。宏定义参数没有类型,不进行类型检查;函数参数具有类型,需要检查类型。......
  • JavaScript(三)Array的高阶函数
    map、reducemap:map()方法定义在JavaScript的Array中,接收一个函数对象作为参数,函数定义运算规则,对array中的每个元素进行运算,结果是一个新的array。functionpow(x){returnx*x;}vararr=[1,2,3,4,5,6,7,8,9];varresults=arr.map(pow);//[1,4,9......
  • 《深入探索C++对象模型》- 第二章 - 构造函数语义学 - 笔记
    PDF版本https://www.aliyundrive.com/s/oQJJiJfQmU2......
  • input 上传图片 Base64 格式的 可预览
      <inputtype="file"@change="aas"name=""id="">   aas(e){//console.log(e.target.files)//leta=newFormData        letfile=e.target.files[0]        letreader=newFileReader......
  • 高阶函数, 装饰器的编写
    符合如下之一特点的即为高阶函数:接受函数名作为形参返回值包含函数名错误写法:  装饰器函数  原理: 正确的装饰器写法: ......
  • STL-二分查找函数
    binary_serch:查找某个元素是否出现,返回bool型lower_bound:查找第一个>=某个元素的位置upper_bound:查找第一个>某个元素的位置binary_search(beg,end,val)返回一个bool变量,以二分法检索的方式在[beg,end]之间查找val,找到返回true,找不到返回false。lower_bound(beg,end,va......
  • MYSQL数据库转DM达梦数据库函数替换及注意事项
    1、调整IF函数为 case 函数MYSQL: IF(condition, value_if_true, value_if_false) if(a.class_sort_code='0301',(selectgroup_concat(sku_attr_id)sku_Attrfroma_sku_attr_relaWHEREmodel_id=a.model_idorderbysku_attr_id),'')sku_attrD......