![Python程序设计教程(第2版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/531/34752531/b_34752531.jpg)
2.4 常见的Python内置函数
Python内置了一系列的常用函数,不需要额外导入任何模块就可以直接使用,运行速度非常快,非常方便,Python英文官方文档有详细说明。我们也可以使用内置函数dir()查看所有的内置函数和内置对象,详见2.2节。
还可以通过help(函数名)查看某个函数的具体用法。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image869.jpg?sign=1738957077-cP9iy6P73xAwkpCHGSzCAJNp64Z1S2fz-0-7f59b45b8d2047037f6ac612423668a8)
常见的Python内置函数见表2.3,内置类型转换函数见表2.4。
表2.3 常见的Python内置函数
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image1037.jpg?sign=1738957077-XeTqovew5vjxYjYZ41AH2iWkpPmNtLAl-0-71e8d241b5f3d0e0d710795bf67b5cf0)
表2.4 内置类型转换函数
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image1038.jpg?sign=1738957077-myv0xZ5bsG0yXVLve75ZRR5qG017nCkD-0-bc16f94eddf8b5fefede422eba21148f)
【例2-3】 通过输入函数input()输入股票代码、股票名称、当天股票最高价和最低价,通过输出函数print()输出股票代码+股票名称、最高价、最低价和差值。
第1种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image871.jpg?sign=1738957077-S05edlMEXwpgt4qVBL4K40aCXEi0xz3K-0-cc6435570eb30f76b27c8071a38e4961)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image870.jpg?sign=1738957077-LR4VW651PTblW5B2myK0BNgi899IGeKd-0-c38a6a1396789b9a950994565542d77f)
highest和lower都通过float()函数将input()函数得到的字符串转换为浮点数,然后相减得到差值diff。
第2种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image872.jpg?sign=1738957077-exSK4Frz0JaXjpq0CBsGAoV8ayz9hwS2-0-b2c141aa1e6b562ce5cbd6e9b8479f4f)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image873.jpg?sign=1738957077-7lbq3JbfORzqh4Kg0H2doC8rUc1WDQUH-0-16301986e069cb52a8841c7ab51fbe82)
highest和lower都通过input()函数得到字符串,然后在计算差值diff的时候,通过float()函数将highest和lower都转换为浮点数再相减。比较输出结果与example2_3_1.py有什么不同?
第3种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image874.jpg?sign=1738957077-foGZcfrFxVRIBqQ8gb4JfI5K8QLwwuAG-0-623673435264737ad35714b3d16e3f67)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image875.jpg?sign=1738957077-uyyN1sMytl0BSLPAFnA5j7kfUUyD6NPb-0-b4c921b7ab8651151ee004f769eda3a4)
hl是通过input()函数得到的字符串(用","分隔的最高价和最低价,如"15.55,15.05"),然后通过字符串的split(',')方法得到元素为数字字符串的列表(如['15.55','15.05']),再通过map()函数将float()函数作用于该列表,得到包含若干浮点值的map对象,再通过对map对象进行序列解包将浮点数(如15.55和15.05)分别赋给highest和lower,最后通过公式计算差值diff。
【例2-4】 请编写一个程序,能接受用户输入的一个复数的实部和虚部,输出其复数表示形式,以及其模。
分析:
从键盘接受输入。
计算模:设复数z=a+bi(a,b∈R),则复数z的模|z|=a2+b2,它的几何意义是复平面上一点(a,b)到原点的距离。
输出复数表示形式和模。
第1种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image876.jpg?sign=1738957077-vMKqhULPwJZ4TWRAOuK2fOget0KPhUlX-0-efc2b9315c3c97d6d737587e23b13bd1)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image877.jpg?sign=1738957077-WVdK2mizKvoYF1M1JFRSUxFk6KMfabAq-0-fa6764865e6316a303b280223ae9f366)
a和b都通过input()函数得到字符串,然后在计算模c的时候,通过float()函数将a和b都转换为浮点数再计算。
第2种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image878.jpg?sign=1738957077-NeVFqdPMSs5UdVKjPoRw3KfqDHU1Oxa8-0-c8db2d6917a85f5a42ea4a3e4a7ab568)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image879.jpg?sign=1738957077-HdCeoGghXhOgwUVK2shRYKguwjC9Mn5T-0-e70d9782799b1ffa632da2e1c552d863)
请注意:输入实部和虚部的时候用空格分隔。如果该程序中a,b=map(float,x.split())改为a,b=map(float,x.split(","))则输入实部和虚部的时候用逗号分隔,即3.5,6.7。
x是通过input()函数得到的字符串(用空格分隔的实部和虚部,如"3.5 6.7"),然后通过字符串的split()方法得到元素为数字字符串的列表(如['3.5','6.7']),再通过map()函数将float()函数作用于该列表,得到包含若干浮点值的map对象,再通过对map对象进行序列解包将浮点数(如3.5和6.7)分别赋给a和b,最后通过公式计算模c。
第3种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image880.jpg?sign=1738957077-trwThoaSPOlPRH7RWRlj5Ri7qCyhkZwm-0-f4255e3217e665d20f40e34fe4301a60)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image881.jpg?sign=1738957077-ZDl11aGoQWeK1Q47RhCmqGre8L77AlYN-0-05614ac3e551800d0a286e7ef3b00ada)
这里得到a和b的方法跟第2种方法一样,然后直接通过内置函数complex()得到复数,又直接通过内置函数abs()得到模c。
请大家借助相关资料和帮助文档,理解上述程序。