python数值运算例题(对复数取abs得到什么)

提示:笔者学习python的时候更熟悉C语言,因此使用C语言的某些特性进行类比或者比较。没有C语言基础仍然可以学习python语言,读者可以自行跳过。

python官方手册把这些函数列为“Built-in Functions”,也就是说内置函数——不需要import任何库即可调用。那么,这些知识点你确定都掌握了吗?那么,我们来回顾一下吧

python数值运算例题(对复数取abs得到什么)(1)

abs

在C、C 语言中也有abs函数,调用该函数需要预处理语句#include <math.h>或<stdlib.h>,C 语言还可以使用<cmath>或者<cstdlib>头文件。

python中给出的定义是

即返回一个数值的绝对值。参数可以是一个整数或者浮点数。如果这个参数是复数,那么返回这个复向量的模。

有如下例子。其中python中使用j代替i。如果对于复数3 i,在python中不可以简写成3 j,这样会引起歧义,因为j有可能是一个变量。

>>> k=3 2j >>> abs(k) 3.605551275463989 >>> k=3 1j >>> abs(k) 3.1622776601683795 >>> k=3 4j >>> abs(k) 5.0 >>> abs(0.3) 0.3 >>> abs(-0.3) 0.3

all函数

参数iterable,可以看作python中的list列表、元组、列表等。可以返回该对象中任何一个元素。

若任意对象中元素均为true,all函数会返回true,否则false。

下面是python官方给出的一个例子。

def all(iterable): for element in iterable: if not element: return False return True

any函数

参数和前面一样,不同点在于对象中任意元素为true,就返回true。

下面是python官方给的一个例子。

def any(iterable): for element in iterable: if element: return True return False

ascii函数

返回一串文本串,对于非ascii字符,会以\x,\u,\U的方式打印。下面给出两个例子,分别打印Daniel和Daniel谈技术这两个字符串,清晰可见被转义到了\\u8c08、\\u6280、\\u672f。

>>> ascii("Daniel谈技术") "'Daniel\\u8c08\\u6280\\u672f'" >>> ascii("Daniel") "'Daniel'"

python数值运算例题(对复数取abs得到什么)(2)

chr()函数

参数是一个整数值,返回这个整数值的对应字符。例如

chr(97) 会返回'a',chr(8364) 会返回 '€'.

当然,这个函数接受的最大整数也是有限制的。它可以接受0,但最大接受1114111(对应16进制的0x10FFFF这个数)

>>> chr(0) '\x00' >>> chr(10) '\n' >>> chr(2333) '\u091d'

ord()函数

Visual Basic这个编程软件已经成为了历史。C语言中可以通过int和char的直接转换得到字符或者一个字符的对应ascii值。VB中有一对cp函数,asc和chr。python这里,chr都是一样的,但asc这里是ord()函数。

举这么个例子。

>>> ord('\u091d') 2333

这里笔者再穿插一个小科普:每个地区销售的计算机的键盘排布大多是不一样的,不过,大同小异。同时,一个地区不同厂家的不同型号会有差异,甚至是一个地区一个厂家的不同型号都会有所差异。但是无伤大雅:全世界的计算机使用同一个标准,字符方面最基本的ASCII字符,从其不可见的各种控制字符,一直到第127个字符都是统一的。后续虽然各个地区都有不同的编码,但仍有通用的unicode和UTF-8/16/32标准.

python数值运算例题(对复数取abs得到什么)(3)

print()函数

这个函数非常经典,我想很多学过python的小伙伴一定对他不陌生。就如同php的echo和C的printf,python的输出函数print()也是一样用来输出文本的。

print函数最简单的一个例子就是print("hello,world!")

当然,如果只会这么简单那真的太naive了。

7.1 python2中可以不加括号

print 在 python2 版本不是一个函数,只是一个关键字。在python3 是一个函数,因此,不加括号无伤大雅。不过,在py3中必须加。

7.2 print()函数参数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)

*objects 表示要输出的对象。多个对象要用逗号分隔表示。

sep表示分隔符,即print每个要输出的对象中的分割

end表示结尾。即这个对象输出后再输出的东西。默认情况都是换行的。若想不换行,那么只要把end赋值为""空即可。

file表示输出的位置对象。

flush表示是否刷新缓冲区,为布尔型逻辑值,true或者false。默认为false,如果为true则无论何种情况强制刷新缓冲区,否则不会刷新缓冲区,除非缓冲区满了或其他情况。

format函数

格式化输出的时候,C语言在printf("")中根据“%d %c控制字符,C#中也有string.format函数。

python中,使用了 str.format()函数

这里的str为一个string型变量,直接在后面加上.format()函数并递交参数即可。

>>> print('{0} and {1}'.format('spam', 'eggs')) spam and eggs >>> print('{1} and {0}'.format('spam', 'eggs')) eggs and spam

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页