资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

imag函数Python imd函数

享学课堂浅谈Python序列内建函数都有哪些

1、Python类型操作符和内建函数总结

创新互联主要从事网站设计制作、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务施甸,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108

表4.5列出了所有操作符和内建函数,其中操作符顺序是按优先级从高到低排列的。同一种灰度的操作符拥有同样的优先级。注意在operator模块中有这些(和绝大多数Python)操作符相应的同功能的函数可供使用。

表4.5 标准类型操作符和内建函数

操作符/函数

描 述

结 果a

字符串表示

``

对象的字符串表示

str

内建函数

cmp(obj1, obj2)

比较两个对象

int

repr(obj)

对象的字符串表示

str

str(obj)

对象的字符串表示

str

type(obj)

检测对象的类型

type

值比较

小于

bool

大于

bool

=

小于或等于

bool

=

大于或等于

bool

==

等于

bool

!=

不等于

bool

不等于

bool

对象比较

is

bool

is not

不是

bool

布尔操作符

not

逻辑反

bool

and

逻辑与

bool

or

逻辑或

bool

2、Python数值类型操作符和内建函数

一、工厂函数

数值工厂函数总结类(工厂函数) 操作

bool(obj) b 返回obj对象的布尔值,也就是 obj.__nonzero__()方法的返回值。

int(obj, base=10)   返回一个字符串或数值对象的整数表 示, 类似string.atoi();

从Python 1.6起, 引入了可选的进制参数。

long(obj, base=10) 返回一个字符或数据对象的长整数表 示,类似string.atol(),

从Python1.6起, 引入了可选的进制参数 float(obj) ,

返回一个字符串或数据对象的浮点数 表示,类似string.atof()。

complex(str) or返回一个字符串的复数表示,或 者根据给定的实数,

complex(real, imag=0.0)  (及一个可选 的虚数部分)生成一个复数对象。

二、内建函数

1、分类

Python 有五个运算内建函数用于数值运算:

abs(num), coerce(num1,num2), divmod(num1,num2), pow(num1,num2,mod=1)和 round(flt,ndig=0)

其中abs()返回给定参数的绝对值。如果参数是一个复数, 那么就返回math.sqrt(num.real2 + num.imag2).

coerce()是一个数据类型转换函数,不过它的行为更像一个运算符.数coerce()为程序员提供了不依赖Python 解释器,而是自定义两个数值类型转换的方法。对一种新创建的数值类型来说, 这个特性非常有用.函数coerce()仅返回一个包含类型转换完毕的两个数值元素的元组.

divmod()内建函数把除法和取余运算结合起来, 返回一个包含商和余数的元组.对整数来说,它的返回值就是地板除和取余操作的结果.对浮点数来说,返回的商部分是math.floor(num1/num2),对复数来说,商部分是ath.floor((num1/num2).real).

pow()它和双星号 (**)运算符都可以进行指数运算.不过二者的区别并不仅仅在于一个是运算符,一个是内建函数.在Python 1.5 之前,并没有 ** 运算符,内建函数pow()还接受第三个可选的参数,一个余数参数.如果有这个参数的, pow() 先进行指数运算,然后将运算结果和第三个参数进行取余运算.这个特性主要用于密码运算,并且比 pow(x,y) % z 性能更好, 这是因为这个函数的实现类似于C 函数pow(x,y,z).

round()用于对浮点数进行四舍五入运算。它有一个可选的小数位数参数.如果不提供小数位参数, 它返回与第一个参数最接近的整数(但仍然是浮点类型).第二个参数告诉round 函数将结果精确到小数点后指定位数.

2、函数int()/round()/math.floor()它们之间的不同之处:

函数 int()直接截去小数部分.(返回值为整数)

函数 floor() 得到最接近原数但小于原数的整数.(返回值为浮点数)

函数 round() 得到最接近原数的整数.(返回值为浮点数)

3、进制转换函数:

返回字符串表示的8 进制和16 进制整数,它们分别是内建函数:

oct()和 hex(). oct(255)='0377'/hex(255)='0xff'

函数chr()接受一个单字节整数值(0到255),返回一个字符串(ASCII),其值为对应的字符.chr(97)='a'

函数ord()则相反,它接受一个字符(ASCII 或 Unicode),返回其对应的整数值.ord('A')=65

3、Python字符串函数

(一)标准类型操作符和标准内建函数

1)、标准类型操作符

,,=,=,==,!=,对象值得比较

注:做比较时字符串是按ASCII值的大小来比较的

is 对象身份比较

and,or,not 布尔类型

2)标准内建函数

type(obj)

cmp(obj1,obj2)

str(obj)和repr(obj) 或反引号运算符(``) 可以方便的以字符串的方式获取对象的

内容、类型、数值属性等信息。str()函数得到的字符串可读性好, 而repr()函数得到的字符

串通常可以用来重新获得该对象, 通常情况下 obj == eval(repr(obj)) 这个等式是成立的

isinstance(obj,type) 判断对象的类型

(二)序列操作

1、序列操作

字符串属于序列对象,可以使用所有序列的操作和函数

切片 [] [:] [::]

简单总结:

*索引(S[i])获取特定偏移的元素。

——第一个元素偏移为0

——(S[0])获取第一个元素。

——负偏移索引意味着从最后或右边反向进行计数

——(S[-2])获取倒数第二个元素(就像S[len(s)-2]一样

*分片[S[i:j]提取对应的部分作为一个序列

——右边界不包含在内

——分片的边界默认为0和序列的长度,如果没有给出的话S[:]

——(S[1:3])获取了从偏移为1,直到但不包括偏移为3的元素

——(S[1:])获取从偏移为1到末尾之间的元素

——(S[:3])获取从偏移为0直到但不包括偏移为3的元素

——(S[:-1])获取从偏移为0直到但不包括最后一个元素之间的元素

——(S[:])获取从偏移为0到末尾之间的元素,这有效地实现了顶层S拷贝

拷贝了一个相同值,但是是不同内存区域的对象。对象字符串这样不可变的对象不是很有用,但是对于可以实地修改的对象来说很有用。

比如列表。

扩展分片:第三个限制值 【步进】

完整形式:X[I:J:K]:这标识索引X对象的元素,从偏移为I直到J-1,每隔K元素索引一次。第三个限制值,K,默认为1

实例

Python Code

1

2

3

4

5

S='abcdefghijk'

S[1:10]

'bcdefghij'

S[1:10:2]

'bdfhj

也可以使用负数作为步进。

分片表达式

Python Code

1

2

"hello"[::-1]

'olleh'

通过负数步进,两个边界的意义实际上进行了反转。

3、成员操作符 in ,not in

返回布尔值True 或False

可以使用string模块来判断输入字符的合法性,可见成品中的idcheck.py

4、字符串连接

+ 连接字符串 ‘name’+' '+'jin'

字符串格式化 '%s %s' % ('name','jin')

join()方法 ' '.join(('name','jin')) ' '.join(['name','jin'])

5、删除清空字符串

del aString

aString=''

(三)、序列函数

序列类型函数

len(str) 返回字串的长度

enumerate(iter):接受一个可迭代对象作为参数,返回一个enumerate

max(str)/min(str):max()和min()函数对其他的序列类型可能更有用,但对于string类型它们能很好地运行,返回最大或者最小的字符(按照ASCII 码值排列),

zip([it0, it1,... itN]) 返回一个列表,其第一个元素是it0,it1,...这些元素的第一个元素组成的一个元组,第二个...,类推.

reversed(seq)c 接受一个序列作为参数,返回一个以逆序访问的迭代器(PEP 322)

sorted(iter,func=None,key=None,reverse=False) 接受一个可迭代对象作为参数,返回一个有序的列表;可选参数func,key 和reverse 的含义跟list.sort()内建函数的参数含义一样.

注意:

sorted等需要在原处修改的函数无法用在字符串对象,但可以产生新的对象

sum处理的对象是数字,不能用在字符串

sorted(s)

['a', 'e', 'e', 'g', 'g', 'g', 'o']

(四)只适合于字符串类型的函数

1)raw_input()函数

内建的raw_input()函数使用给定字符串提示用户输入并将这个输入返回,下面是一个使

用raw_input()的例子:

user_input = raw_input("Enter your name: ")

prin user_input

2)str() and unicode()

str()和unicode()函数都是工厂函数,就是说产生所对应的类型的对象.它们接受一个任

意类型的对象,然后创建该对象的可打印的或者Unicode 的字符串表示. 它们和basestring 都

可以作为参数传给isinstance()函数来判断一个对象的类型

3)chr(), unichr(), and ord()

chr()函数用一个范围在range(256)内的(就是0 到255)整数做参数,返回一个对应的字符.unichr()跟它一样,只不过返回的是Unicode 字符

ord()函数是chr()函数(对于8 位的ASCII 字符串)或unichr()函数(对于Unicode 对象)

的配对函数,它以一个字符(长度为1 的字符串)作为参数,返回对应的ASCII 数值,或者Unicode

数值,如果所给的Unicode 字符超出了你的Python 定义范围,则会引发一个TypeError 的异常

(五)、只适用于字符串的操作符

1、格式化操作符 %

字符串格式化符号

格式化字符 转换方式

%c 转换成字符(ASCII 码值,或者长度为一的字符串)

%ra 优先用repr()函数进行字符串转换

%s 优先用str()函数进行字符串转换

%d / %i 转成有符号十进制数

%ub 转成无符号十进制数

%ob 转成无符号八进制数

%xb/%Xb (Unsigned)转成无符号十六进制数(x/X 代表转换后的十六进制字符的大

小写)

%e/%E 转成科学计数法(e/E 控制输出e/E)

%f/%F 转成浮点数(小数部分自然截断)

%g/%G %e 和%f/%E 和%F 的简写

%% 输出%

格式化操作符辅助指令

符号 作用

* 定义宽度或者小数点精度

- 用做左对齐

+ 在正数前面显示加号( + )

sp 在正数前面显示空格

# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于

用的是'x'还是'X')

0 显示的数字前面填充‘0’而不是默认的空格

% '%%'输出一个单一的'%'

(var) 映射变量(字典参数)

m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

2、字符串模板: 更简单的替代品

由于新式的字符串Template 对象的引进使得string 模块又重新活了过来,Template 对象

有两个方法,substitute()和safe_substitute().前者更为严谨,在key 缺少的情况下它会报一

个KeyError 的异常出来,而后者在缺少key 时,直接原封不动的把字符串显示出

3、原始字符串操作符( r/R )

字符串抑制转义r'带特殊符号的字串'

myfile=open(r'C:\new\text.data','w')

4、Unicode 字符串操作符( u/U )

u'abc' U+0061 U+0062 U+0063

u'\u1234' U+1234

u'abc\u1234\n' U+0061 U+0062 U+0063 U+1234 U+0012

(六)字符串对象的方法:

1、删减

T2.lstrip() 移除字符串前面字符(默认空格),返回字符串

T2.rstrip() 移除字符串后面字符(默认空格),返回字符串

T2.strip() 移除字符串前后面空格,返回字符串 默认空格,可以其他字符 S.strip('"')

2、切割

partition(sep),

rpartition(sep),

splitlines([keepends]),#把S按照行分割符分为一个list,keepends是一个bool值,如果为真每行后而会保留行分割符

split([sep [,maxsplit]]),#以sep为分隔符,把S分成一个list。maxsplit表示分割的次数。默认的分割符为空白字符

rsplit([sep[,maxsplit]]) #从右到左切割

备注:

partition()函数族是2.5版本新增的方法。它接受一个字符串参数,并返回一个3个元素的 tuple 对象。

如果sep没出现在母串中,返回值是 (sep, ‘’, ‘’);

否则,返回值的第一个元素是 sep 左端的部分,第二个元素是 sep 自身,第三个元素是 sep 右端的部分。

S.partition(';')

('', ';', ' generated by /sbin/dhclient-script\nnameserver 172.16.10.171\nnameserver 8.8.8.8\nnameserver 172.16.0.2\nnameserver 178.79.131.110\nnameserver 202.96.199.133\n')

参数 maxsplit 是分切的次数,即最大的分切次数,所以返回值最多有 maxsplit+1 个元素。

s.split() 和 s.split(‘ ‘)的返回值不尽相同

' hello world!'.split()

['hello', 'world!']

' hello world!'.split(' ')

['', '', 'hello', '', '', 'world!']

S.split('\n',3)

['; generated by /sbin/dhclient-script', 'nameserver 172.16.10.171', 'nameserver 8.8.8.8', 'nameserver 172.16.0.2\nnameserver 178.79.131.110\nnameserver 202.96.199.133\n']

超过最大切割个数后面的全部为一个元素

按行切割

S

'; generated by /sbin/dhclient-script\nnameserver 172.16.10.171\nnameserver 8.8.8.8\nnameserver 172.16.0.2\nnameserver 178.79.131.110\nnameserver 202.96.199.133\n'

S.splitlines()

['; generated by /sbin/dhclient-script', 'nameserver 172.16.10.171', 'nameserver 8.8.8.8', 'nameserver 172.16.0.2', 'nameserver 178.79.131.110', 'nameserver 202.96.199.133']

产生差异的原因在于当忽略 sep 参数或sep参数为 None 时与明确给 sep 赋予字符串值时 split() 采用两种不同的算法。

对于前者,split() 先去除字符串两端的空白符,然后以任意长度的空白符串作为界定符分切字符串

即连续的空白符串被当作单一的空白符看待;

对于后者则认为两个连续的 sep 之间存在一个空字符串。因此对于空字符串(或空白符串),它们的返回值也是不同的:

''.split()

[]

''.split(' ')

['']

3、变形

lower(),#全部小写

upper(),#全部小写

capitalize(),#首字母大写

swapcase(),#大小写交换

title()#每个单词第一个大写,其他小写

备注

因为title() 函数并不去除字符串两端的空白符也不会把连续的空白符替换为一个空格,

所以建议使用string 模块中的capwords(s)函数,它能够去除两端的空白符,再将连续的空白符用一个空格代替。

Python Code

1

2

3

4

' hello world!'.title()

' Hello World!'

string.capwords(' hello world!')

'Hello World!'

4、连接

join(seq)

join() 函数的高效率(相对于循环相加而言),使它成为最值得关注的字符串方法之一。

它的功用是将可迭代的字符串序列连接成一条长字符串,如:

conf = {'host':'127.0.0.1',

... 'db':'spam',

... 'user':'sa',

... 'passwd':'eggs'}

';'.join("%s=%s"%(k, v) for k, v in conf.iteritems())

'passswd=eggs;db=spam;user=sa;host=127.0.0.1'

S=''.join(T) #使用空字符串分割把字符列表转换为字符串

5、查找

count( sub[, start[, end]]),#计算substr在S中出现的次数

find( sub[, start[, end]]),#返回S中出现sub的第一个字母的标号,如果S中没有sub则返回-1。start和end作用就相当于在S[start:end]中搜索

index( substr[, start[, end]]),#与find()相同,只是在S中没有substr时,会返回一个运行时错误

rfind( sub[, start[,end]]),#返回S中最后出现的substr的第一个字母的标号,如果S中没有substr则返回-1,也就是说从右边算起的第一次出现的substr的首字母标号

rindex( sub[, start[, end]])

T2.find('ie') 字符串方法调用:搜索

find()----找到的第一个符合字符的index

rfind()-----找到最后一个符合的字符的index

备注:

find()函数族找不到时返回-1,index()函数族则抛出ValueError异常。

另,也可以用 in 和 not in 操作符来判断字符串中是否存在某个模板

6、替换

replace(old, new[,count]),#把S中的oldstar替换为newstr,count为替换次数。这是替换的通用形式,还有一些函数进行特殊字符的替换

translate(table[,deletechars]) #使用上面的函数产后的翻译表,把S进行翻译,并把deletechars中有的字符删掉

备注:

replace()函数的 count 参数用以指定最大替换次数

translate() 的参数 table 可以由 string.maketrans(frm, to) 生成

translate() 对 unicode 对象的支持并不完备,建议不要使用

7、判定

isalnum(),#是否全是字母和数字,并至少有一个字符

isalpha(),是否全是字母,并至少有一个字符

isdigit(),是否全是数字,并至少有一个字符 ,如果是全数字返回True,否则返回False

islower(),#S中的字母是否全是小写

isupper(),#S中的字母是否是大写

isspace(),#是否全是空白字符,并至少有一个字符

istitle(),S是否是首字母大写的

startswith(prefix[, start[, end]]), #是否以prefix开头

endswith(suffix[,start[, end]]),#以suffix结尾

备注:

这些函数都比较简单,顾名知义。需要注意的是*with()函数族可以接受可选的 start, end 参数,善加利用,可以优化性能。

另,自 Py2.5 版本起,*with() 函数族的 prefix 参数可以接受 tuple 类型的实参,当实参中的某人元素能够匹配,即返回 True。

8、填充

字符串在输出时的对齐:

center(width[, fillchar]), 字符串中间对齐

ljust(width[, fillchar]), 字符串左对齐,不足部分用fillchar填充,默认的为空格

rjust(width[, fillchar]), 字符串右对齐,不足部分用fillchar填充,默认的为空格

zfill(width), 把字符串变成width长,并在右对齐,不足部分用0补足

expandtabs([tabsize])把字符串中的制表符(tab)转换为适当数量的空格。

fillchar 参数指定了用以填充的字符,默认为空格

zfill的z为zero的缩写,顾名思义,是以字符0进行填充,用于数值输出

expandtabs()的tabsize 参数默认为8。它的功能是把字符串中的制表符(tab)转换为适当数量的空格。

9、编码

encode([encoding[,errors]]),

decode([encoding[,errors]])

这是一对互逆操作的方法,用以编码和解码字符串。因为str是平台相关的,它使用的内码依赖于操作系统环境,

而unicode是平台无关的,是Python内部的字符串存储

如何在Python中获取完整的异颜桓

我们可以很容易的通过Python解释器获取帮助。如果想知道一个对象(object)更多的信息,那么可以调用help(object)!另外还有一些有用的方法,dir(object)会显示该对象的大部分相关属性名,还有object._ doc _会显示其相对应的文档字符串。下面对其进行逐一介绍。

1、 help()

help函数是Python的一个内置函数。 

函数原型:help([object])。 

可以帮助我们了解该对象的更多信息。 

If no argument is given, the interactive help system starts on the interpreter console.

help()

Welcome to Python 2.7!  This is the online help utility.

If this is your first time using Python, you should definitely check out

the tutorial on the Internet at .

Enter the name of any module, keyword, or topic to get help on writing

Python programs and using Python modules.  To quit this help utility andreturn to the interpreter, just type "quit".

To get a list of available modules, keywords, or topics, type "modules","keywords", or "topics".  Each module also comes with a one-line summary

of what it does; to list the modules whose summaries contain a given word

such as "spam", type "modules spam".

help int  # 由于篇幅问题,此处只显示部分内容,下同Help on class int in module __builtin__:class int(object)

|  int(x=0) - int or long

|  int(x, base=10) - int or long

|  

.....help

12345678910111213141516171819202122232425262728

If the argument is a string, then the string is looked up as the name of a module, function, class, method, keyword, or documentation topic, and a help page is printed on the console. If the argument is any other kind of object, a help page on the object is generated.

help(abs)  # 查看abs函数Help on built-in function abs in module __builtin__:

abs(...)

abs(number) - number

Return the absolute value of the argument. help(math) # 查看math模块,此处只显示部分内容Help on built-in module math:

NAME

math

FILE

(built-in)

DESCRIPTION

This module is always available.  It provides access to the

mathematical functions defined by the C standard.

FUNCTIONS

acos(...)

acos(x)

Return the arc cosine (measured in radians) of x.

..... 12345678910111213141516171819202122232425262728293031

2、dir()

dir函数是Python的一个内置函数。 

函数原型:dir([object]) 

可以帮助我们获取该对象的大部分相关属性。 

Without arguments, return the list of names in the current local scope.

dir()  # 没有参数['__builtins__', '__doc__', '__name__', '__package__'] import math  # 引入一个包和一个变量,再次dir() a=3 dir()

['__builtins__', '__doc__', '__name__', '__package__', 'a', 'math'] 12345678910

With an argument, attempt to return a list of valid attributes for that object.

import math dir(math)  # math模块作为参数['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc'] 12345

The default dir() mechanism behaves differently with different types of objects, as it attempts to produce the most relevant, rather than complete, information: 

• If the object is a module object, the list contains the names of the module’s attributes.

import math dir(math)  # math模块作为参数['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc'] 12345

• If the object is a type or class object, the list contains the names of its attributes, and recursively of the attributes of its bases.

dir(float)  # 类型['__abs__', '__add__', '__class__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__eq__', '__float__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getformat__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__int__', '__le__', '__long__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__nonzero__', '__pos__', '__pow__', '__radd__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '__rmul__', '__rpow__', '__rsub__', '__rtruediv__', '__setattr__', '__setformat__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', 'as_integer_ratio', 'conjugate', 'fromhex', 'hex', 'imag', 'is_integer', 'real'] dir(3.4)

['__abs__', '__add__', '__class__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__eq__', '__float__', '__floordiv__', '__format__', '__ge__', '__getattribute__', '__getformat__', '__getnewargs__', '__gt__', '__hash__', '__init__', '__int__', '__le__', '__long__', '__lt__', '__mod__', '__mul__', '__ne__', '__neg__', '__new__', '__nonzero__', '__pos__', '__pow__', '__radd__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '__rmul__', '__rpow__', '__rsub__', '__rtruediv__', '__setattr__', '__setformat__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', 'as_integer_ratio', 'conjugate', 'fromhex', 'hex', 'imag', 'is_integer', 'real'] class A:

x=3

y=4 class B(A):

z=5 dir(B)  # 类['__doc__', '__module__', 'x', 'y', 'z'] 123456789101112131415161718

• Otherwise, the list contains the object’s attributes’ names, the names of its class’s attributes, and recursively of the attributes of its class’s base classes.

3、_ doc_

在Python中有一个奇妙的特性,文档字符串,又称为DocStrings。 

用它可以为我们的模块、类、函数等添加说明性的文字,使程序易读易懂,更重要的是可以通过Python自带的标准方法将这些描述性文字信息输出。 

上面提到的自带的标准方法就是_ doc _。前后各两个下划线。 

注:当不是函数、方法、模块等调用doc时,而是具体对象调用时,会显示此对象从属的类型的构造函数的文档字符串。

import math math.__doc__   # 模块'This module is always available.  It provides access to the\nmathematical functions defined by the C standard.' abs.__doc__   # 内置函数'abs(number) - number\n\nReturn the absolute value of the argument.' def addxy(x,y):

'''the sum of x and y'''

return x+y addxy.__doc__  # 自定义函数'the sum of x and y' a=[1,2,4] a.count.__doc__  # 方法'L.count(value) - integer -- return number of occurrences of value' b=3 b.__doc__   # 具体的对象"int(x=0) - int or long\nint(x, base=10) - int or long\n\nConvert a number or string to an integer, or return 0 if no arguments\nare given.  If x is floating point, the conversion truncates towards zero.\nIf x is outside the integer range, the function returns a long instead.\n\nIf x is not a number or if base is given, then x must be a string or\nUnicode object representing an integer literal in the given base.  The\nliteral can be preceded by '+' or '-' and be surrounded by whitespace.\nThe base defaults to 10.  Valid bases are 0 and 2-36.  Base 0 means to\ninterpret the base from the string as an integer literal.\n int('0b100', base=0)\n4" 12345678910111213141516171819

其实我们可以通过一定的手段来查看这些文档字符串,比如使用Pycharm,在对应的模块、函数、方法等上鼠标“右击”-Go to-Declaration。例如:查看内置函数abs的文档字符串 

我们再举一个具体的对象的例子,例如,上面具体的整型对象b的doc显示的就是其所从属的int类型的文档字符串: 

参考文献: 

1、Python帮助文档

python复数运算中imag啥意思

imag是复数的虚部,一般是这么定义的

如图:

红框部分就是imag部分。。

python3.6为什么用divmod()函数不能对复数运算?

程序简化为直接创建一个临时的无名对象作为返回值; .real .imag);c2)

{

complex c;complex(real*i, imag*i);

}

complex complex::operator /(int i)

{

return complex(real / i, imag / i);

}

void complex::display()

{

cout "(" real "," imag "i)" endl;

}

int main()

{

complex c1(1, 2), c2(3, 4), c3;

int i = 5;

cout "c1=";

c1.display();

cout "c2=";

c2.display();

c3 = c1 + c2;

cout "c1+c2=";

c3.display();

c3 = c1 - c2;

cout "c1-c2=";

c3.display();

c3 = c1*c2;

cout "c1*c2=";

c3.display();

c3 = c1 / c2;

cout "c1/c2=";

c3.display();

cout "i=" i endl;

c3 = c1 + i;

cout "c1+i=";

c3.display();

c3 = c1 - i;

cout "c1-i=";

c3.display();

c3 = c1*i;

cout "c1*i=";

c3.display();

c3 = c1 / i;

cout "c1/i=";

c3.display();

return 0;

}

;c, c;c2.real,只不过是因为前面涉及到了实部和虚部操作;

return return complex

{

public:

complex(){ real = complex operator/(complex = i; }

complex operator-(complex imag);i)

{

.real*c2;complex(double i);

complex r;r::operator *(int ::operator-(complex

i)

{

.real c2)

{

complex = real*c2.real - //有参和无参的构造函数

c2.real;(c2;complex;complex(real imag*c2;operator*(complex complex;

}

complex c.imag .imag*c2;operator+(int .real i;i);

void display();

private:

double real;complex operator+(complex i);

complex 。

c2)

{

complex c2.imag;return c;i)

{

return complex(real - complex;-(int //当运算符重载为友元函数的时候,参数的个数与原来的操作数目是一样的

.real imag :operator imag;

};

//不明白为什么这里的return不能像后面复数与整数相加时的return.

//解答;+ c2.imag) / c,函数的参数的个数要比原来的操作数少一个(后置“++”、“-”除外);

+ i, imag);

}

complex complex:;c;c::operator / ::operator *(complex return return ::operator +(int c2.imag*c2.imag);

c.imag = c2)

{

complex c2);

complex complex;

,因此重新构造一个复数类的对象会使程序更加明了。

//后面只是用到了实部,因此不需要浪费内存空间,重新申请一个新的复数类的对象(乘除除外);

}

//复数与整数之间的操作

complex i){ real = imag

::operator+(complex .imag;

c.imag = i);

complex .real real*c2;

c2);//运算符的重载; imag*c2;

c;c;c2);c;(imag*c2.real - / (c2.real*c2.real + double + imag*c2.imag) .real = (real*c2;return c;= real + .real

complex;(complex .imag ,因为成员函数都是通过该类的某个对象来访问的;

}

complex ,程序的运行效率更高

//复数和复数的操作运算

complex

= 0; } double + real*c2.imag;

}

complex c;

= imag + c2.imag;//当运算符重载为类的成员函数时的时候;operator-(int = imag - = real - ,

}

complex c;complex:还不都是一样的;operator/(int operator*(int c2);

complex 。因为本身的‘+’只能是对基本类型数据进行操作,现在想要对复数类也进行操作。那么必须要重载,重新定义其为我们需要的功能

,成员函数中有一隐含的参数this指针,this指针

//指向当前的对象,而当前的对象本身就是其中的一个操作数;0;namespace std;

/*

1.同一个运算符可以代表多个不同的功能,编译系统是根据操作的数据来判别该执行具体哪一个功能的

*/

class

#includeiostream

using

python内建函数

其实安装python包会自带一个有问号标示“?”的"Python Manuals"可以仔细阅读一下,也可作帮助文档的。

介绍Python的内建函数和异常.许多内建函数的细节及特性可以在这里找到.

内建函数

本节介绍的函数在解释器中总是可用的,他们被包含在 __builtin__ 模块里.另外每个模块的 __builtins__ 属性经常指的是这个模块(除了当在restricted execution环境下运行时).

_(下划线)

默认情况下,变量 _ 用于在交互模式下表示最近一个表达式的运行结果.

参阅 sys.displayhook (118)

__import__(name [, globals [, locals [, fromlist]]])

import语句通过调用这个函数来导入模块. name是包含模块名字的字符串, globals是一个可选的定义全局名称空间的字典, locals是定义局部名称空间的字典, fromlist是from语句目标的列表.例如, import spam语句会调用__import__('spam', globals(), locals(), []) ,而from spam import foo 语句会调用 __import__('spam', globals(), locals(), ['foo']). 如果模块名在包名字之后(如foo.bar)而且fromlist为空时,就返回对应的模块对象.如果fromlist不为空,则只会返回最顶级的包.

这个函数是一个低等级的模块载入接口.它并不执行import语句的所有步骤(通常情况下局部名称空间并不会随模块中包含对象的名称引用的改变而改变.这个函数可以由用户来重新定义,这样为import语句加入新的行为.默认的执行并不会检查locals参数,而globals只用于决定包的内容(这些参数可以使 __import__()能够完整地访问全局和局部名称空间)

abs(x)

返回x的绝对值

apply(func [, args [, keywords]])

对可调用对象func执行函数调用. args是一个包含固定位置参数的元组, keywords是包含关键参数的字典. apply()函数也可以写做func(*args ,**keywords ).

buffer(sequence [, offset [, size]])

创建一个新的缓冲器对象.缓冲器通常是一个序列(如字符串)的字节导向序列.缓冲器和字符串在许多地方是相同的,但是它不支持字符串方法,而且也不能使用string模块的函数.

callable(object)

当object为可调用对象时返回True,否则返回False

chr(i)

将一个0到255的整数转换为一个字符.

cmp(x,y)

比较x和y. x y返回负数; x== y返回零; x y返回整数.它可以比较任意两个对象并返回结果,即使有时候对象的比较豪无意义(例如比较文件对象).在某些环境下,这样的比较会引发异常.

coerce(x,y)

将x和y值转换为同一个数值类型并作为一个元组返回.(第三章,类型和对象)

compile(string, filename, kind)

使用exec()或eval()将字符串编译为代码对象. filename is a string containing the name of the file in which the string was defined. kind为'exec'时代表一个表达式的序列, 'eval'代表一个表达式, 'single'代表一个运行语句.

complex(real [, imag])

创建一个复数

delattr(object, attr)

删除对象的一个属性, attr是一个字符串.与 del object.attr相同

dir([object])

返回包含属性名称的列表.它们来自对象的 __dict__, __methods__,以及 __members__ 属性.如果没有传递给它参数,则会返回当前的local symbol table

divmod(a,b)

返回一个包含商和余数的元组.对于整数,将返回(a / b , a % b ),对于浮点数,将返回(math.floor(a / b ), a % b )

eval(expr [, globals [, locals]])

计算一个表达式的值. expr是一个字符串或由compile()创建的一个代码对象. globals和locals为操作定义的全局和局部名称空间,当省略时,表达式将在调用时的名称空间计算.

execfile(filename [, globals [, locals]])

运行文件filename中的语句. globals和locals定义了文件运行的全局和局部名称空间,当省略时,文件将在调用时的名称空间运行.这个函数不能在一个函数主体里使用,因为它与内嵌范围不相容.

filter(function, list)

使用func()函数来过滤s中的元素.使func返回值为false的元素被丢弃,其它的存入filter函数返回的列表中.如果function是None,则list中值为False的元素就被删除.

float(x)

将x转换为浮点数

getattr(object, name [, default])

返回一个对象的属性. name是一个字符串. default是一个可选的值,代表当没有这个属性时返回的值. 与 object.name 结果相同

globals()

返回一个与全局名称空间对应的字典

hasattr(object, name)

返回object是否有name属性,布尔值

hash(object)

返回一个对象的整数哈希值(如果可能).两个相等对象的哈希值是相同的.模块没有定义一个哈希值.

hex(x)

将一个整数或长整数转换为一个十六进制的字符串

id(object)

返回一个对象的整数id

input([prompt])

相当于eval(raw_input(prompt ))

int(x [, base])

将一个数字或字符串转换为整数. 可选参数base代表从字符串转换时的基础/根据

intern(string)

Checks to see whether string is contained in an internal table of strings. If found, a copy of the internal string is returned. If not, string is added to the internal table and returned. This function is primarily used to get better performance in operations involving dictionary lookups. Interned strings are never garbage-collected. Not applicable to Unicode strings.

isinstance(object, classobj)

检查object是否是classobj的事例或子类.也可用于检查类型

issubclass(class1, class2)

检查class1是否是class2的子类(派生类)

注意: issubclass(A , A )返回True

len(s)

返回序列s中包含的条目数目

list(s)

返回一个包含序列s中条目的新列表

locals()

返回一个与调用时局部名称空间相对应的字典

long(x [, base])

将一个数字或字符串转换为长整数,可选参数base代表从字符串转换时的基础/根据

map(function, list, ...)

将序列list中的每个元素传递给function函数做参数,函数的返回值组成列表并返回.如果提供给多个列表,则函数应包含有多个参数,每个参数从不同的列表获得.如果函数为None,则默认为 identity function(?身份函数).如果None映射到多个列表,则返回一个包含元组的列表,元组的每个元素分别来自各个列表.如果有必要,短的列表将使用None来扩充到与最长列表长度相等. map可以使用list comprehensions 来代替.例如map(function , alist ),可以使用[function (x) for x in alist ]来代替

参阅 zip (105).

max(s [, args, ...])

单个参数时,返回序列s中的最大值.多个参数时,返回值最大的参数

min(s [, args, ...])

单个参数时,返回序列s中的最小值.多个参数时,返回值最小的参数

oct(x)

将一个整数或者长整数转换为八进制字符串

open(filename [, mode [, bufsize]])

打开文件filename并返回一个文件对象(第十章,运行环境). mode代表文件打开的模式. 'r' 表示读, 'w' 表示写, 'a' 表示在文件末尾添加内容. 还有一种更新模式,你只要在读写模式后增加一个'+'就可以使用这种模式,如'r+' 或 'w+'.当一个文件以更新模式打开,你就可以对这个文件进行读写操作.只要在任何读取操作之前刷新所有的输出缓冲就不会有问题.如果一个文件以 'w+' 模式打开,它的长度就度截为 0.当mode省略时,将会使用'w'模式.bufsize参数指定了缓冲行为, 0代表无缓冲,1代表行缓冲,其他正数代表一个大约的字节缓冲器大小,负数代表使用系统默认缓冲器大小(也是默认行为)

ord(c)

返回单个字符c的整数顺序值.普通字符返回[0,255]中的一个值,Unicode字符返回 [0,65535]中的一个值

pow(x, y [, z])

返回x ** y ,如果z存在返回(x ** y ) % z

range([start,] stop [, step])

返回一个从start到stop的整数序列, step代表步进,默认值为1. start默认值为0.负数的step可以创建一个递减的整数序列

参阅xrange (105)

raw_input([prompt])

从标准输入(sys.stdin)中读取一行,并把它作为字符串返回.如果提供了prompt,它将首先打印到标准输出(sys.stdout).当读取到一个EOF时,就会引发一个EOFError异常.如果readline模块被导入,那么这个函数会使用它来提供更高级的功能

reduce(func, seq [, initializer])

函数从一个序列收集信息,然后只返回一个值(例如求和,最大值,等).它首先以序列的前两个元素调用函数,再将返回值和第三个参数作为参数调用函数,依次执行下去,返回最终的值. func函数有且只有两个参数.在seq为空时,将使用初始值initializer.

reload(module)

重新导入一个已经导入的模块. module必须是一个已经存在的模块对象.一般情况下并不鼓励使用这个函数,除了在调试的时候.

当一个模块重导入时,定义它的全局名称空间的字典依然存在.Thus, definitions in the old module that aren’t part of the newly reloaded module are retained.模块可以利用这个来检查他们是否已经被导入.

重导入一个使用C编写的模块通常是不合法的

If any other modules have imported this module by using the from statement, they’ll continue to use the definitions in the previously imported module. This problem can be avoided by either reissuing the from statement after a module has been reloaded or using fully qualified names such as module.name .

如果有使用以前模块中类创建的实例,它们将继续使用以前的模块

repr(object)

返回一个对象的标准字符串表示.与向后的引号 `object` 相同.大多数情况下,返回的字符串可以使用eval()来再次创建这个对象.

round(x [, n])

Returns the result of rounding the floating-point number x to the closest multiple of 10 to the power minus n . If n is omitted, it defaults to 0. If two multiples are equally close, rounding is done away from 0 (例如, 0.5 is rounded to 1.0 and -0.5 is rounded to -1.0).

setattr(object, name, value)

设置一个对象的属性. name是一个字符串. 相当于object.name = value .

slice([start,] stop [, step])

返回一个代表指定数列中一个整数的切片对象.切片对象也可以有扩展切片操作语句来产生.(第三章,序列和映射方法)

str(object)

返回表示对象的可打印形式的字符串.与print语句产生的字符串相同.

tuple(s)

从序列s中创建一个元组.如果s已经是一个元组,则返回s

type(object)

返回object的类型,它是一个types模块中定义type类型

参阅isinstance (102)

unichr(i)

将一个0到65535的整数转换为一个Unicode字符

unicode(string [, encoding [, errors]])

将string转换为Unicode字符串. encoding指定了string的数据编码,它被省略时,将使用sys.getdefaultencoding(). errors指定编码错误处理方式.('strict', 'ignore', 或 'replace' .参阅第三章和第九章中有关Unicode内容)

vars([object])

返回object的 symbol table (通常在object的__dict__属性).如果没有给它提供参数,则返回对应当前局部名称空间的字典.

xrange([start,] stop [, step])

和range函数相似,但返回的是一个XRangeType对象.它生成一个迭代器,就是只有用那个数时才临时通过计算提供值,而不是全部储存它们.这样在处理大的数列时能节省大量的内存.

zip(s1 [, s2 [,..]])

用来将几个序列组合成一个包含元组的序列,序列中的每个元素t[i ] = (s1[i ], s2[i ], ..., sn[i ]).结果与最短序列的长度相等.


分享文章:imag函数Python imd函数
文章出自:http://cdkjz.cn/article/hpjpoh.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220