Python中的常用函数使用及说明

张开发
2026/4/18 17:34:36 15 分钟阅读

分享文章

Python中的常用函数使用及说明
1.range()是一个函数for i in range () 就是给i赋值比如 for i in range 13就是把1,2依次赋值给irange () 函数的使用是这样的:range(start, stop[, step])分别是起始、终止和步长举例range3即从0到3不包含3即0,1,2123456foriinrange(3):print(i)012range1,3,2即从1到3每次增加2因为123所以输出只有1第三个数字2是代表步长。如果不设置就是默认步长为11234foriinrange(1,3,2):print(i)12.Python数字函数函数返回值描述abs(x)返回数字的绝对值如abs-10返回10ceilx返回数字的上入整数如math.ceil4.1返回5cmp(x,y)如果 x y 返回 -1如果x y 返回0如果x y 返回1expx返回e的x次幂ex如果math.exp1返回2.718281828459045fabs(x)返回数字的绝对值如math.fabs-10返回10.0floorx返回数字的下设整数如math.floor49返回4logxlog() 返回 x 的自然对数如math.logmath.e返回1.0math.log(10010)返回2.0log10(x)返回以10为基数的x的对数如math.log10(100)返回2.0max(x1,x2,…)返回给定参数的最大值参数可以为序列minx1,x2,…返回给定参数的最小值参数可以为序列modf(x)返回x的整数部分与小数部分两部分的数值符号与x相同整数部分以浮点型表示pow(x,y)x**y运算后的结果round(x,[n])返回浮点数x的四舍五入值如给出n值则代表舍入到小数点后的位数sqrt(x)返回数字x的平方根3.Python随机函数随机数可以用于数字游戏安全等领域中还经常被嵌入到算法中用以提高算法效率并提高程序的安全性Python包含以下常用随机函数函数描述choiceseq从序列的元素中随机挑选一个元素比如random.choicerange(10),从0到9中随机挑选一个整数randrange[start,] stop [,step]从指定基数递增的集合中获取一个随机数基数默认值为1random随机生成一个实数它在[0,1范围内seed[x]改变随机数生成器的种子seed。如果你不了解其原理你不必特别去设定seedPython会帮你选择seedshuffle(lst)将序列的所有元素随机排列unifrom(x,y)随机生成下一个实数它在[x,y]范围内4.Python的字符串内建函数字符串方法是从python1.6到2.0慢慢加进来的——它们也被加到了Python中这些实现了string模块的大部分方法如下表所示除了目前字符串内建支持的方法都包含了对Unicode的支持有一些甚至是专门用于Unicode的。方法描述string.capitalize()把字符串的第一个字符大写string.center(width)返回一个原字符串居中并使用空格填充至长度width的新字符串string.count(str, beg0, endlen(string))返回 str 在 string 里面出现的次数如果 beg 或者 end 指定则返回指定范围内 str 出现的次数string.decode(encoding‘UTF-8’, errors‘strict’)以 encoding 指定的编码格式解码 string如果出错默认报一个 ValueError 的 异 常 除非 errors 指 定 的 是 ‘ignore’ 或 者’replace’string.encode(encoding‘UTF-8’, errors‘strict’)以 encoding 指定的编码格式编码 string如果出错默认报一个ValueError 的异常除非 errors 指定的是’ignore’或者’replace’string.endswith(obj, beg0, endlen(string))检查字符串是否以 obj 结束如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束如果是返回 True,否则返回 False.string.expandtabs(tabsize8)把字符串 string 中的 tab 符号转为空格tab 符号默认的空格数是 8。string.find(str, beg0, endlen(string))检测 str 是否包含在 string 中如果 beg 和 end 指定范围则检查是否包含在指定范围内如果是返回开始的索引值否则返回-1string.format()格式化字符串string.index(str, beg0, endlen(string))跟find()方法一样只不过如果str不在 string中会报一个异常.string.isalnum()如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 Falsestring.isalpha()如果 string 至少有一个字符并且所有字符都是字母则返回 True,否则返回 Falsestring.isdecimal()如果 string 只包含十进制数字则返回 True 否则返回 False.string.isdigit()如果 string 只包含数字则返回 True 否则返回 False.string.islower()如果 string 中包含至少一个区分大小写的字符并且所有这些(区分大小写的)字符都是小写则返回 True否则返回 Falsestring.isnumeric()如果 string 中只包含数字字符则返回 True否则返回 Falsestring.isspace()如果 string 中只包含空格则返回 True否则返回 False.string.istitle()如果 string 是标题化的(见 title())则返回 True否则返回 Falsestring.isupper()如果 string 中包含至少一个区分大小写的字符并且所有这些(区分大小写的)字符都是大写则返回 True否则返回 Falsestring.join(seq)以 string 作为分隔符将 seq 中所有的元素(的字符串表示)合并为一个新的字符串string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串string.lower()转换 string 中所有大写字符为小写.string.lstrip()截掉 string 左边的空格string.maketrans(intab, outtab)maketrans() 方法用于创建字符映射的转换表对于接受两个参数的最简单的调用方式第一个参数是字符串表示需要转换的字符第二个参数也是字符串表示转换的目标。max(str)返回字符串 str 中最大的字母。min(str)返回字符串 str 中最小的字母。string.partition(str)有点像 find()和 split()的结合体,从 str 出现的第一个位置起,把 字 符 串 string 分 成 一 个 3 元 素 的 元 组 (string_pre_str,str,string_post_str),如果 string 中不包含str 则 string_pre_str string.string.replace(str1, str2, numstring.count(str1))把 string 中的 str1 替换成 str2,如果 num 指定则替换不超过 num 次.string.rfind(str, beg0,endlen(string) )类似于 find() 函数返回字符串最后一次出现的位置如果没有匹配项则返回 -1。string.rindex( str, beg0,endlen(string))类似于 index()不过是返回最后一个匹配到的子字符串的索引号。string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串string.rpartition(str)类似于 partition()函数,不过是从右边开始查找string.rstrip()删除 string 字符串末尾的空格.string.split(str“”, numstring.count(str))以 str 为分隔符切片 string如果 num 有指定值则仅分隔 num1 个子字符串string.splitlines([keepends])按照行(‘\r’, ‘\r\n’, ‘\n’)分隔返回一个包含各行作为元素的列表如果参数 keepends 为 False不包含换行符如果为 True则保留换行符。string.startswith(obj, beg0,endlen(string))检查字符串是否是以 obj 开头是则返回 True否则返回 False。如果beg 和 end 指定值则在指定范围内检查.string.strip([obj])在 string 上执行 lstrip()和 rstrip()string.swapcase()翻转 string 中的大小写string.title()返回标题化的 string,就是说所有单词都是以大写开始其余字母均为小写(见 istitle())string.translate(str, del“”)根据 str 给出的表(包含 256 个字符)转换 string 的字符,要过滤掉的字符放到 del 参数中string.upper()转换 string 中的小写字母为大string.zfill(width)返回长度为 width 的字符串原字符串 string 右对齐前面填充05.文件操作函数序号方法及描述1file.close()关闭文件。关闭后文件不能再进行读写操作。2file.flush()刷新文件内部缓冲直接把内部缓冲区的数据立刻写入文件, 而不是被动的等待输出缓冲区写入。3file.fileno()返回一个整型的文件描述符(file descriptor FD 整型), 可以用在如os模块的read方法等一些底层操作上。4file.isatty()如果文件连接到一个终端设备返回 True否则返回 False。5file.next()返回文件下一行。6file.read([size])从文件读取指定的字节数如果未给定或为负则读取所有。7file.readline([size])读取整行包括 “\n” 字符。8file.readlines([sizeint])读取所有行并返回列表若给定sizeint0则是设置一次读多少字节这是为了减轻读取压力。9file.seek(offset[, whence])设置文件当前位置10file.tell()返回文件当前位置。11file.truncate([size])截取文件截取的字节通过size指定默认为当前文件位置。12file.write(str)将字符串写入文件返回的是写入的字符长度。13file.writelines(sequence)向文件写入一个序列字符串列表如果需要换行则要自己加入每行的换行符。1.open函数语法123fileobjectopen(file_name [, access_mode][, buffering])//完整版open(file, moder, buffering-1, encodingNone, errorsNone, newlineNone, closefdTrue, openerNone)各个参数的细节如下file_namefile_name变量是一个包含了你要访问的文件名称的字符串值。access_modeaccess_mode决定了打开文件的模式只读写入追加等。所有可取值见如下的完全列表。这个参数是非强制的默认文件访问模式为只读®。buffering:如果buffering的值被设为0就不会有寄存。如果buffering的值取1访问文件时会寄存行。如果将buffering的值设为大于1的整数表明了这就是的寄存区的缓冲大小。如果取负值寄存区的缓冲大小则为系统默认。encoding: 一般使用utf8errors: 报错级别newline: 区分换行符closefd: 传入的file参数类型opener: 设置自定义开启器开启器的返回值必须是一个打开的文件描述符。1.close函数File 对象的 close方法刷新缓冲区里任何还没写入的信息并关闭该文件这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时Python 会关闭之前的文件。用 close方法关闭文件是一个很好的习惯。语法1fileObject.close()1.seek函数1seekoffset [,from]方法改变当前文件的位置。Offset变量表示要移动的字节数。From变量指定开始移动字节的参考位置。如果from被设为0这意味着将文件的开头作为移动字节的参考位置。如果设为1则使用当前的位置作为参考位置。如果它被设为2那么该文件的末尾将作为参考位置。1.tell函数tell()方法告诉你文件内的当前位置, 换句话说下一次的读写会发生在文件开头这么多字节之后。2.write函数write()方法可将任何字符串写入一个打开的文件。需要重点注意的是Python字符串可以是二进制数据而不是仅仅是文字。write()方法不会在字符串的结尾添加换行符(‘\n’)1.read函数read方法从一个打开的文件中读取一个字符串。需要重点注意的是Python字符串可以是二进制数据而不是仅仅是文字。语法1fileObject.read([count])在这里被传递的参数是要从已打开文件中读取的字节计数。该方法从文件的开头开始读入如果没有传入count它会尝试尽可能多地读取更多的内容很可能是直到文件的末尾。举例123456789101112foopen(test.txt,r)print(fo-name:%s,fo-mode:%s%(fo.name,fo.mode))fo.write(this is my test.)strfo.read(5)print(first read:%s%str)#查找当前位置print(当前位置:,fo.tell())fo.seek(0,0)print(当前位置,fo.tell())print(str:,fo.read(20))fo.close()open函数中mode 参数有模式描述t文本模式 (默认)。x写模式新建一个文件如果该文件已存在则会报错。b二进制模式。打开一个文件进行更新(可读可写)。U通用换行模式不推荐。r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。r打开一个文件用于读写。文件指针将会放在文件的开头。rb以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。w打开一个文件只用于写入。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。wb以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。一般用于非文本文件如图片等。w打开一个文件用于读写。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。wb以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件并从开头开始编辑即原有内容会被删除。如果该文件不存在创建新文件。一般用于非文本文件如图片等。a打开一个文件用于追加。如果该文件已存在文件指针将会放在文件的结尾。也就是说新的内容将会被写入到已有内容之后。如果该文件不存在创建新文件进行写入。ab以二进制格式打开一个文件用于追加。如果该文件已存在文件指针将会放在文件的结尾。也就是说新的内容将会被写入到已有内容之后。如果该文件不存在创建新文件进行写入。a打开一个文件用于读写。如果该文件已存在文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在创建新文件用于读写。ab以二进制格式打开一个文件用于追加。如果该文件已存在文件指针将会放在文件的结尾。如果该文件不存在创建新文件用于读写。6.zip函数对于我们的两个lista和blist(zip(a, b))生成了一个列表。在这个列表中每个元素是一个tuple对于第i个元组它其中的内容是(a[i-1], b[i-1])。这样的操作与压缩软件的“压缩”十分接近。如果我们继续在zip()中加入更多的参数比如zip(a, b, c, d)那么在将它转换成list之后结果当然就是[(a[0], b[0], c[0], d[0]), (a[1], b[1], c[1], d[1]), …, (a[n-1], b[n-1], c[n-1], d[n-1])]。事实上在 Python 3 中为了节省空间zip()返回的是一个tuple的迭代器这也是我们为什么要调用list()将它强制转换成list的原因。不过Python 2中它直接返回的就是一个列表了。如果我们传入zip()中的几个参数不等长会有什么结果呢zip()很灵活如果几个参数不等长那么它会取最短的那个参数的长度然后再进行处理。至于那些超出最短长度的成员就只好被舍弃掉了。

更多文章