Python基本输入和输出和异常
# Input()函数
input函数接受一个字符串参数,这个字符串通常被称为提示符,因为它包含一些有用的文本,提示用户输入一些东西。
aName = input('Please enter your name: ')
需要注意的是,输入函数返回的值将是一个字符串,如果想将此字符串解释为另一种类型,必须提供显式的类型转换。
sradius = input("Please enter the radius of the circle ")
radius = float(sradius)
diameter = 2 * radius
# 格式化字符串
可以通过设置sep参数来更改分隔符。此外,每次打印在默认情况下都以换行符结尾。可以通过设置end参数来改变这种行为。
>>> print("Hello")
Hello
>>> print("Hello","World")
Hello World
>>> print("Hello","World", sep="***")
Hello***World
>>> print("Hello","World", end="***")
Hello World***>>>
# % 格式操作符
%号是一个字符串操作符,称作格式化操作符。表达式的左边含有模板或格式字符串,右边包含将被替换成格式字符串的值的集合。
print(aName, "is", age, "years old.")
# 等价于
print("%s is %d years old." % (aName, age))
%s指定一个字符串,而%d指定一个整数。其他可能的类型规范包括i、u、f、e、g、c或%。
还可以在%和格式字符之间包含一个格式修饰符。格式修饰符可以用来对指定字段宽度的值进行左对齐或右对齐。修饰符也可以用来指定字段宽度,以及小数点后的数字。
格式操作符的右边是一组值,这些值将被插入到格式字符串中。集合将是一个元组或一个字典。如果集合是一个元组,那么这些值就会按照位置的顺序插入。也就是说,元组中的第一个元素对应于格式字符串中的第一个格式字符。如果集合是一个字典,那么这些值将根据它们的键插入。在这种情况下,所有格式字符都必须使用(name)修饰符来指定键的名称。
>>> price = 24
>>> item = "banana"
>>> print("The %s costs %d cents" % (item, price))
The banana costs 24 cents
>>> print("The %+10s costs %5.2f cents" % (item, price))
The banana costs 24.00 cents
>>> print("The %+10s costs %10.2f cents" % (item, price))
The banana costs 24.00 cents
>>> itemdict = {"item": "banana", "cost": 24}
>>> print("The %(item)s costs %(cost)7.1f cents" % itemdict)
The banana costs 24.0 cents
>>>
# format 方法
除了使用格式字符和格式修饰符的格式字符串之外,Python字符串还包括一种format方法,它可以与新的Formatter类一起使用来实现复杂的字符串格式化。
# 处理异常
当一个异常发生时,我们说它已经被“抛出”了。使用try语句处理所提出的异常。例如,思考下面的会话,让用户输入一个整数,然后从数学库调用平方根函数。如果用户输入大于或等于0的值,打印将显示平方根。但是,如果用户输入负值,平方根函数将报出ValueError异常。
>>> import math
>>> anumber = int(input("Please enter an integer"))
Please enter an integer -23
>>> print(math.sqrt(anumber))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: math domain error
>>>
可以通过在try块中调用print函数来处理这个异常。相应的except块“捕获”异常,并在发生异常时将消息打印给用户。例如:
>>> anumber = -23
>>> try:
... print(math.sqrt(anumber))
... except:
... print("Bad Value for square root")
... print("Using absolute value instead")
... print(math.sqrt(abs(anumber)))
...
Bad Value for square root
Using absolute value instead
4.795831523312719
>>>
它将捕获sqrt引发的异常,将消息打印回用户并使用绝对值来确保我们采用非负数的平方根。 这意味着程序不会终止,而是继续执行下一个语句。
也可以通过使用raise语句来引发运行时异常。 例如,我们可以先检查该值,然后引发自己的异常,而不是使用负数调用平方根函数。 下面的代码片段显示了创建新的RuntimeError异常的结果。 请注意,程序仍然会终止,但现在导致终止的异常是程序员明确创建的。
>>> if anumber < 0:
... raise RuntimeError("You can't use a negative number")
... else:
... print(math.sqrt(anumber))
...
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
RuntimeError: You can't use a negative number
>>>
除了上面显示的RuntimeError之外,还可以引发多种异常。 有关所有可用异常类型的列表以及如何创建自己的异常类型,可参阅Python参考手册。
# 评论交流
- 可以在下方回复
- QQ 1739046583
- QQ 交流群 :建设中...
最后,如果你觉得笔记对你有帮助,不妨赞赏一杯可乐😅