![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=1739363480-Yyj7YyvM4s314E4rBqPUKHCZibAyKf4a-0-703f4dffd2b1a6fa151e864145e036b5)
常见的Python内置函数见表2.3,内置类型转换函数见表2.4。
表2.3 常见的Python内置函数
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image1037.jpg?sign=1739363480-Vk5VyleQDxtJVwsKt8qBdLKY5kWcmU3z-0-479544d900ab7138a83540c121dc400a)
表2.4 内置类型转换函数
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image1038.jpg?sign=1739363480-lPIV3xAO6AekyjsQlJlNjd7LQZcW1N1F-0-29d113448e829b58ebd9e65613a80b10)
【例2-3】 通过输入函数input()输入股票代码、股票名称、当天股票最高价和最低价,通过输出函数print()输出股票代码+股票名称、最高价、最低价和差值。
第1种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image871.jpg?sign=1739363480-G9NkYN7RLFzGT9kL98TOtLOvdhChSJFM-0-75d00ac3b47bb824983d2d380089bb10)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image870.jpg?sign=1739363480-1mMYmDdyaCFSjdTmfD81xEZ4CH9DKiq4-0-43e0ab10815bbe04cd2b6de554e569f2)
highest和lower都通过float()函数将input()函数得到的字符串转换为浮点数,然后相减得到差值diff。
第2种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image872.jpg?sign=1739363480-36S6cqrPzj2UOW73nWqbqdzPjvMp6ueN-0-c92384b613c4ec34aa7aa2b258210af6)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image873.jpg?sign=1739363480-kKDZG1rCNm7KBUCbwyYR0RminqPKXRm9-0-94d864e16fcd3ad89b668379397e51b7)
highest和lower都通过input()函数得到字符串,然后在计算差值diff的时候,通过float()函数将highest和lower都转换为浮点数再相减。比较输出结果与example2_3_1.py有什么不同?
第3种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image874.jpg?sign=1739363480-lNiQI8YUw9anv8ndwrG05YUdbnQDYe8U-0-1fad3ab91c9a96ad288896369b79f1fc)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image875.jpg?sign=1739363480-zvPnQ4ri2JRLc0fIlU8G5nceVmmLZjvA-0-42b1faececdcb5d83cd787a037c4e7de)
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=1739363480-Kx75OBV0lDZN81cXp01Wn3hXqDOQoJsK-0-7dacb90fb7b09751c63cf6116a4c37fc)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image877.jpg?sign=1739363480-Ts1lkNujR8ply82hjDDovHH6tSiiEjP1-0-0c3a3a356134820f9cad6ddf5f504987)
a和b都通过input()函数得到字符串,然后在计算模c的时候,通过float()函数将a和b都转换为浮点数再计算。
第2种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image878.jpg?sign=1739363480-e9R0SFvl0tWp9IysH46vhCal2xXzycTG-0-81faa6e1cdd3d282967c98abf06e218f)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image879.jpg?sign=1739363480-DtelXMddeMuhK3WSBL3VV1YxUEeP50Qk-0-d58241fac093764eaef8a5832b20ddbd)
请注意:输入实部和虚部的时候用空格分隔。如果该程序中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=1739363480-2OzPHQs3fuxxaTe9DUW4UkqmK8A1LSMi-0-4c70412d80b8a133435e6de0367b172f)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image881.jpg?sign=1739363480-yvvUIhdScJQeLdmUrIzhGMVqWQkbNSkw-0-87e797a9c31c11a4d95054eec30e7156)
这里得到a和b的方法跟第2种方法一样,然后直接通过内置函数complex()得到复数,又直接通过内置函数abs()得到模c。
请大家借助相关资料和帮助文档,理解上述程序。