- Python程序设计教程(第2版)
- 郑戟明 柳青 杨年华
- 1068字
- 2020-11-23 18:11:08
2.4 常见的Python内置函数
Python内置了一系列的常用函数,不需要额外导入任何模块就可以直接使用,运行速度非常快,非常方便,Python英文官方文档有详细说明。我们也可以使用内置函数dir()查看所有的内置函数和内置对象,详见2.2节。
还可以通过help(函数名)查看某个函数的具体用法。
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image869.jpg?sign=1734393391-d9XHuEPhkfRQRLdtkQrI2yWaDm4OjSip-0-8a7b5e9d0d02616ef6070ba80eef42a1)
常见的Python内置函数见表2.3,内置类型转换函数见表2.4。
表2.3 常见的Python内置函数
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image1037.jpg?sign=1734393391-2411llb03pnvxZdnlUscwXJASNWqYsfs-0-78c4cb2d1f33c1403ac97ce289d96810)
表2.4 内置类型转换函数
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image1038.jpg?sign=1734393391-6UZl1EahUIUmpA2fExAjfRIJGw9qEbL4-0-cfea9ed4628420aac453ff9520bdc620)
【例2-3】 通过输入函数input()输入股票代码、股票名称、当天股票最高价和最低价,通过输出函数print()输出股票代码+股票名称、最高价、最低价和差值。
第1种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image871.jpg?sign=1734393391-DpD0GHMdVlE7CEJKbA2FOVCzDWreDa6b-0-87498490aebdd4e81284b257eedeac0c)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image870.jpg?sign=1734393391-wexPaIMt94Csl5DxE95jYSHgHQkZk7gS-0-1f8080e56aa55b8977b3970f96835dcf)
highest和lower都通过float()函数将input()函数得到的字符串转换为浮点数,然后相减得到差值diff。
第2种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image872.jpg?sign=1734393391-0SZiuGkXEV3UzLuIQlhcKSpwDamaNP8n-0-e54f42fa615fcf11d80e245b6efef498)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image873.jpg?sign=1734393391-pMAWuxqSY3aPoYuCPm5J9pI17Ym7ejz3-0-bc54a5c1f279090bbbe74d06dbae43ad)
highest和lower都通过input()函数得到字符串,然后在计算差值diff的时候,通过float()函数将highest和lower都转换为浮点数再相减。比较输出结果与example2_3_1.py有什么不同?
第3种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image874.jpg?sign=1734393391-TXoyx4xWGBXt7IBCNC3yrWzfwEqupJoJ-0-5324bef7aa9fcacc3dc31b08bffd8a66)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image875.jpg?sign=1734393391-kTdDasdCFrWgfFITNghpB8dzAOZOIjOD-0-b49b7395753139ed70b7e8887cba3841)
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=1734393391-PKtoWQvjXZYYFiepCKme24LiF8SoMdJd-0-e85b9caabdb1cbb46d5f2bea9c44bd3f)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image877.jpg?sign=1734393391-YjGjcpgxmP3rfxDEfMwKtNejqleDDikJ-0-dc158a1aa39e5ea670069d92f05a05b4)
a和b都通过input()函数得到字符串,然后在计算模c的时候,通过float()函数将a和b都转换为浮点数再计算。
第2种方法:
程序代码:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image878.jpg?sign=1734393391-34KRfJwf9abtfn9ybP8fjDJ70AXWfPcX-0-4de059f74a46e7084782b33661c1c8e0)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image879.jpg?sign=1734393391-tS6tAJVJfTCfcttX0lSncs3A9rLgKcE4-0-4465d2a0031624b80f35c3140f77135d)
请注意:输入实部和虚部的时候用空格分隔。如果该程序中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=1734393391-AyGPcKiGQeEUgu7hKHt6FlATJWxOWq8f-0-8868bc61d42594b117d554a208cf161b)
程序运行结果:
![](https://epubservercos.yuewen.com/8599B6/18562449808364906/epubprivate/OEBPS/Images/image881.jpg?sign=1734393391-uixI6dgtbQiW4DWhzIHdBZPTeZpOKrya-0-bbd056b4da354ad18840b4772adfae16)
这里得到a和b的方法跟第2种方法一样,然后直接通过内置函数complex()得到复数,又直接通过内置函数abs()得到模c。
请大家借助相关资料和帮助文档,理解上述程序。