python内置函数

不要把一个py文件起名为一个库名!

 

独立内置函数:

open函数:调用open函数打开文件时会隐式地创建一个file对象。read,write,close等函数都在open之后进行

seek函数:移动指针位置,eg:seek(0,0)  在写操作结束后指针不会回到开头而是呆在结尾

tell函数:返回指针当前的位置

#刚打开一个文件,指针默认指在文件末尾(r+打开除外)

zip函数:把多个序列打包成元组

a=[1,2,3]
b=['a','s','d']
q=[4,5,6]
c=zip(a,zip(b,q))
print(c)
c=dict(c)
print(c)

<zip object at 0x0000019EDC526AC8>
{1: ('a', 4), 2: ('s', 5), 3: ('d', 6)}

ord函数:把单个字符转换为asc码

chr函数:把数字转换为单个字符

any函数:若传入元素中有0,或false或全空则返回false,否则为true

map函数:接受一个函数关系和一个列表(list),将列表中的每一个元素作为自变量带入函数关系中,生成的答案组成一个新的等长列表返回。

range函数:创建从0开始的一个可迭代类型,不是返回列表!因此

a=range(9)
print(a)
range(0, 9)

a=list(range(9))
print(a)
[0, 1, 2, 3, 4, 5, 6, 7, 8]

r/r+:打开本就存在的文件 覆盖写

w/w+:可新建文件打开 覆盖写

a/a+:可新建文件打开 附加写

f=open('test.txt','w+')
f.write('qwe')
position=f.seek(0,0)
str=f.read(1)
print(str)
x=f.tell()
print(x)
f.close()

f=open('test.txt','a+')
f.write('fg')
print(f.read())
f=open('test.txt','r')
print(f.read())

f=open('a.txt','a+')

 

 

 

random模块:

random()函数:生成0~1随机数

uniform(a,b)函数:生成,a~b或b~a随机浮点数

randint(a,b)函数:生成a~b整数

randrange(start,end,step)函数:生成递增序列中的一个任意数

choice(sequence)函数:生成该序列中的任意元素(可能是一个元组之类的)

shuffle(sequence)函数:打乱一个序列

sample(sequence,number)函数:从序列中随机获取一个长度为number的切片

 

 

sys模块:

modules模块:k-v结构,返回程序用过的全部模块及其地址

stdin模块:标准输入模块,调用其中的readline函数并去切片全部则等效于input函数

stdout模块:标准输出模块,调用其中的write函数并结尾添加换行符则等效于print函数

getdefaultencoding函数/getfilesystemencoding函数:返回当前系统/文件编码方式

platform函数:返回当前操作系统

argv函数:指示传入参数,其中0为文件地址

 

os模块:

rename函数:文件重命名

remove函数:删除文件

rmdir函数:删除目录

mkdir函数:新建目录

chdir函数:改变打开目录

getcwd函数:返回当前目录

os.rename('test.txt','new1.txt')
os.remove('new.txt')
os.rmdir('newdir')
os.mkdir('newdir')
os.chdir('newdir')
print(os.getcwd())
 

argparse模块:(图片转字符串项目)

参考

要在命令行中调用,因为需要在命令行有传入参数才有用。

 

 

import argparse
# parser = argparse.ArgumentParser()
# parser.add_argument("echo")
# args = parser.parse_args()
# print(args.echo+'asdf')

parser = argparse.ArgumentParser(description = 'this is a description')
parser.add_argument('--ver', '-v' ,action='append_const',help='aaa',default=[123],const='456')
args = parser.parse_args()
if args.ver:
    print(args.ver)
else:
    print(args.v)

 

action命令:

store:直接把输入参数赋值

store_const:有预先设定的参数值,且不接受外来参数,还要设定const

store_true/false:有预先设置的布尔参数值,且不接受外来参数,要设置default

append:接受外来参数加在默认参数之后,要设置default

append_const:不接受外来参数,把const接在默认参数后,要设置default和const

version:打印版本信息

 

位置参数:无-或--

可选参数:以-或--开头

在同一条add_arguement命令中出现多个可选参数则为互斥参数

 

列表推导式:

print(x**2 for x in [1,2,3,4])
print([x**2 for x in [1,2,3,4]])
a=[1,2,3,4]
print(a*2)

结果:

<generator object <genexpr> at 0x00000236DF14A408>
[1, 4, 9, 16]
[1, 2, 3, 4, 1, 2, 3, 4]

 

 

collections模块:

from collections import defaultdict
a=defaultdict(int)
#或者是
import collections
a=collections.defaultdict(int)

namedtuple函数:

>>> from collections import namedtuple
>>> Point = namedtuple('Point', ['x', 'y'])
>>> p = Point(1, 2)
>>> p.x
1
>>> p.y
2

为元组创建一个临时类,可以用类的方式调用其中的元素,方法,同时也对他赋了名字。

deque类:双侧增删的列表

>>> from collections import deque
>>> q = deque(['a', 'b', 'c'])
>>> q.append('x')
>>> q.appendleft('y')
>>> q
deque(['y', 'a', 'b', 'c', 'x'])

setdefault函数(被默认值,默认值):若字典中有该key值,则返回对应value;若无则创建key值,并以默认值为value

defaultdict函数(工厂函数):接受工厂函数 int str等或lambda函数

>>> from collections import defaultdict
>>> dd = defaultdict(lambda: 'N/A')
>>> dd['key1'] = 'abc'
>>> dd['key1'] # key1存在
'abc'
>>> dd['key2'] # key2不存在,返回默认值
'N/A'

ordereddict函数:

>>> from collections import OrderedDict
>>> d = dict([('a', 1), ('b', 2), ('c', 3)])
>>> d # dict的Key是无序的
{'a': 1, 'c': 3, 'b': 2}
>>> od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
>>> od # OrderedDict的Key是有序的
OrderedDict([('a', 1), ('b', 2), ('c', 3)])

有序字典,按照插入顺序排序。

counter函数:计数器

>>> from collections import Counter
>>> c = Counter()
>>> for ch in 'programming':
...     c[ch] = c[ch] + 1
...
>>> c
Counter({'g': 2, 'm': 2, 'r': 2, 'a': 1, 'i': 1, 'o': 1, 'n': 1, 'p': 1})

蜜汁缩写函数:

hasattr(对象,属性)函数:判断对象中是否包含这一属性。

setattr(对象,属性,值):给对象的属性赋值

getattr(对象,属性):返回该属性的值

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值