第六篇:python基础_6 内置函数与常用模块(一)
本篇内容
- 内置函数
- 匿名函数
- re模块
- time模块
- random模块
- os模块
- sys模块
- json与pickle模块
- shelve模块
一、 内置函数
1.定义
内置函数又被称为工厂函数。

2.常用的内置函数
(1)abs()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(abs(-1))
(2)all()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(all([1,2,'a',None]))
print(all([]))
(3)any()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(any([]))
print(any([' ',None,False]))
print(any(['',None,False]))
print(any(['',None,False,1]))
(4)bin(),oct(),hex()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(bin(10))
print(oct(10))
print(hex(10))
(5)bytes()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei #unicode----encode----->bytes
print('hello'.encode('utf-8'))
print(bytes('hello',encoding='utf-8'))
(6)callable()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(callable(bytes))
print(callable(abs))
(7)chr(),ord()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(chr(65))
print(chr(90))
print(ord('#'))
(8)int()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei x=1
print(type(x))
x=int(2)
print(type(x))
complex()、float()、str()、list()、tuple()、dict()与int()同理
(9)set(),可变集合
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei s={1,2,3,4}
print(type(s))
(10)frozenset(),不可变集合
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei s1=frozenset({1,2,3,4})
print(type(s1))
(11)dir()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import sys
#sys.path
# sys.argv
print(dir(sys))
(12)divmod()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(divmod(10,3))
print(divmod(102,20))
(13)enumerate()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei l=['a','b','c']
res=enumerate(l)
for i in res:
print(i)
for index,item in enumerate(l):
print(index,item)
(14)globals(),locals(),查看全局作用域和局部作用域
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(globals())
(15)hash()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(hash('abcdefg123'))
print(hash('abcdefg123'))
(16)help()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei def func():
'''
test function
:return:
'''
pass print(help(func))
(17)id(),是python解释器实现的功能,只是反映了变量在内存的地址,但并不是真实的内存地址
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei x=1
print(id(x))
def func():
pass
print(id(func))
print(func)
(18)isinstance()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei x=1
print(type(x) is int)
print(isinstance(x,int))
(19)max(),min()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(max([1,2,3,10]))
print(max(['a','b']))
print(min([1,2,3,10]))
(20)pow()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(pow(3,2,2)) #3**2%2
(21)repr(),str()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(type(str(1)))
print(type(repr(1)))
(22)reversed()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei l=[1,'a',2,'c']
print(list(reversed(l)))
print(l)
(23)slice()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei l=[1,2,3,4,5,6]
print(l[0:4:2]) s=slice(0,4,2)
print(l[s])
(24)sorted()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei l=[1,10,4,3,-1]
print(sorted(l,reverse=True))
(25)sum()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(sum([1, 2,3]))
print(sum(i for i in range(10)))
(26)vars()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import m1
print(vars(m1) == m1.__dict__)
(27)zip()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei s='helloss'
l=[1,2,3,4,5]
print(list(zip(s,l)))
(28)__import__()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import sys m_name=input('module>>: ')
if m_name == 'sys':
m=__import__(m_name)
print(m)
print(m.path) sys=__import__('sys')
print(sys)
(29)round()
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei print(round(3.565,2))
print(round(3.555,2))
二、 匿名函数
1.定义
匿名函数:
(1)没有名字。
(2)函数体自带return。
匿名函数的应用场景:
应用于一次性的场景,临时使用。
2.使用
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei def func(x,y,z=1):
return x+y+z print(func)
print(func(1,2,3)) print(lambda x,y,z=1:x+y+z)
f=lambda x,y,z=1:x+y+z
print(f)
print(f(1,2,3))
三、 re模块

(1)
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re print(re.findall('\w','hello_ | yanglei 123'))
print(re.findall('\W','hello_ | yanglei 123'))
print(re.findall('\s','hello_ | yanglei 123 \n \t'))
print(re.findall('\S','hello_ | yanglei 123 \n \t'))
print(re.findall('\d','hello_ | yanglei 123 \n \t'))
print(re.findall('\D','hello_ | yanglei 123 \n \t'))
print(re.findall('h','hello_ | hello h yanglei 123 \n \t'))
print(re.findall('\Ahe','hello_ | hello h yanglei 123 \n \t'))
print(re.findall('^he','hello_ | hello h yanglei 123 \n \t'))
print(re.findall('123\Z','hello_ | hello h yanglei 123 \n \t123'))
print(re.findall('123$','hello_ | hello h yanglei 123 \n \t123'))
print(re.findall('\n','hello_ | hello h yanglei 123 \n \t123'))
print(re.findall('\t','hello_ | hello h yanglei 123 \n \t123'))
(2). [] [^]
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re #.本身代表任意一个字符
print(re.findall('a.c','a a1c a*c a2c abc a c aaaaaac aacc')) #[]内部可以有多个字符,但是本身只配多个字符中的一个
print(re.findall('a[0-9][0-9]c','a a12c a1c a*c a2c a c a\nc',re.S))
print(re.findall('a[a-zA-Z]c','aac abc aAc a12c a1c a*c a2c a c a\nc',re.S))
print(re.findall('a[^a-zA-Z]c','aac abc aAc a12c a1c a*c a2c a c a\nc',re.S))
print(re.findall('a[\+\/\*\-]c','a-c a+c a/c aac abc aAc a12c a1c a*c a2c a c a\nc',re.S))
(3)\:转义
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re print(re.findall(r'a\\c','a\c abc'))
(4)? * + {}:左边有几个字符,如果有的话,贪婪匹配
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re #?左边那一个字符有0个或者1个
print(re.findall('ab?','aab a ab aaaa')) #*左边那一个字符有0个或者无穷个
print(re.findall('ab*','a ab abb abbb abbbb bbbbbb'))
print(re.findall('ab{0,}','a ab abb abbb abbbb bbbbbb')) #+左边那一个字符有1个或者无穷个
print(re.findall('ab+','a ab abb abbb abbbb bbbbbb'))
print(re.findall('ab{1,}','a ab abb abbb abbbb bbbbbb')) #{n,m}左边的字符有n-m次
print(re.findall('ab{3}','a ab abb abbb abbbb bbbbbb'))
print(re.findall('ab{2,3}','a ab abb abbb abbbb bbbbbb'))
(5).* .*?
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re #.*贪婪匹配
print(re.findall('a.*c','a123c456c')) #.*?非贪婪匹配
print(re.findall('a.*?c','a123c456c'))
(6)|
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re print(re.findall('company|companies','Too many companies have gone bankrupt, and the next one is my company'))
print(re.findall('compan|companies','Too many companies have gone bankrupt, and the next one is my company'))
(7)():分组
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re print(re.findall('ab+','abababab123'))
print(re.findall('ab+123','abababab123')) print(re.findall('ab','abababab123'))
print(re.findall('(ab)','abababab123'))
print(re.findall('(a)b','abababab123'))
print(re.findall('a(b)','abababab123'))
print(re.findall('(ab)+','abababab123'))
print(re.findall('(?:ab)+','abababab123')) print(re.findall('(ab)+123','abababab123'))
print(re.findall('(?:ab)+123','abababab123'))
print(re.findall('(ab)+(123)','abababab123')) print(re.findall('compan(y|ies)','Too many companies have gone bankrupt, and the next one is my company'))
print(re.findall('compan(?:y|ies)','Too many companies have gone bankrupt, and the next one is my company'))
(8)re的其他方法
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import re print(re.findall('ab','abababab123'))
print(re.search('ab','abababab123').group())
print(re.search('ab','12aasssdddssssssss3'))
print(re.search('ab','12aasssdddsssssssab3sssssss').group())
print(re.search('ab','123ab456')) print(re.match('ab','123ab456')) print(re.split('b','abcde'))
print(re.split('[ab]','abcde')) print(re.sub('xiaolan','xiaohong','xiaolan make love xiaolan xiaolan',1))
print(re.subn('xiaolan','xiaohong','xiaolan make love xiaolan xiaolan',1))
print(re.sub('(\w+)(\W+)(\w+)(\W+)(\w+)',r'\5\2\3\4\1','Toms make love'))
print(re.sub('(\w+)( .* )(\w+)',r'\3\2\1','Toms make love')) obj=re.compile('\d{2}')
print(obj.search('abc123eeee').group())
print(obj.findall('abc123eeee'))
四、time模块
模块方法
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import time print(time.time())
print(time.strftime('%Y-%m-%d %X')) print(time.localtime())
print(time.gmtime()) #UTC
print(time.localtime().tm_mon) print(time.localtime(123123123))
print(time.gmtime(123123123)) print(time.mktime(time.localtime())) print(time.strftime('%Y',time.gmtime())) '2017-03-01'
print(time.strptime('2017-03-01','%Y-%m-%d')) print(time.ctime(12312312))
print(time.asctime(time.gmtime()))
五、random模块
1.模块方法
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import random
print(random.sample([1,'23',[4,5]],2)) print(random.uniform(1,3)) item=[1,3,5,7,9]
random.shuffle(item)
print(item)
2. 生成秘钥应用
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import random
def make_code(n):
res=''
for i in range(n):
s1=str(random.randint(0,9))
s2=chr(random.randint(65,90))
res+=random.choice([s1,s2])
return res
print(make_code(10))
六、os模块
模块方法
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import os print(os.listdir('.')) print(os.stat('m1.py').st_size) print(os.sep)
print(os.linesep)
print(os.pathsep) print([os.sep,os.linesep,os.pathsep]) res=os.system('dir .')
print('====?>',res) print(os.path.dirname(r'C:\a\b\c\d\a.txt'))
print(os.path.basename(r'C:\a\b\c\d\a.txt'))
print(os.path.split(r'C:\a\b\c\d\a.txt')) print(os.stat('m1.py').st_atime)
print(os.stat('m1.py').st_size)
print(os.path.getsize('m1.py')) print(os.path.join('C:\\','a','b','c','d.txt'))
print(os.path.join('C:\\','a','b','D:\\','c','d.txt')) print(os.path.normcase('c:/wiNdows\\system32\\') ) print(os.path.normpath('c://wIndows\\System32\\../Temp/') ) a='/Users/jieli/test1/\\\a1/\\\\aa.py/../..'
print(os.path.normpath(a)) print(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) BASE_DIR=os.path.normpath(os.path.join(
os.path.abspath(__file__),
'..',
'..'
)
)
print(BASE_DIR)
七、sys模块
模拟进度条应用
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import sys,time def progress(percent,width=50): #51
if percent >= 100:
# print('\r[%s] 100%%' %(width*'#'))
percent=100
show_str=('[%%-%ds]' %width) %(int(width*percent/100)*'#')
print('\r%s %d%%' %(show_str,percent),file=sys.stdout,flush=True,end='')
#
total_size=1025121
recv_size=0 while recv_size < total_size:
time.sleep(0.01) #模拟下载的网络延迟
recv_size+=1024
recv_per=int(100*recv_size/total_size)
progress(recv_per,width=10)
八、json与pickle模块
(1)json
应用平台广泛
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import json
dic={'name':'yanglei','age':23} print(type(json.dumps(dic))) with open('a.json','w') as f:
f.write(json.dumps(dic)) with open('a.json','r') as f:
data=f.read()
dic=json.loads(data)
print(dic['name']) dic={'name':'yanglei','age':23}
json.dump(dic,open('b.json','w'))
print(json.load(open('b.json','r'))['name']) with open('c.json','r') as f:
data=f.read()
#[null,true,false,1]
eval(data)
(2)pickle
只对python有效
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import pickle dic={'name':'yanglei','age':23} print(pickle.dumps(dic))
with open('d.pkl','wb') as f:
f.write(pickle.dumps(dic)) with open('d.pkl','rb') as f:
dic=pickle.loads(f.read())
print(dic['name']) dic={'name':'yanglei','age':23}
pickle.dump(dic,open('e.pkl','wb')) print(pickle.load(open('e.pkl','rb'))['name']) def func():
print('from func') import json
print(json.dumps(func)) import pickle
print(pickle.dumps(func))
pickle.dump(func,open('func.pkl','wb'))
九、shelve模块
模块方法
#!/usr/binl/env python
#encoding: utf-8
#author: YangLei import shelve f=shelve.open(r'sheve.shl') f['yanglei']={'age':23,'pwd':'123456'}
f['xiaolan']={'age':18,'pwd':'123456'}
f.close() obj=shelve.open(r'sheve.shl') print(obj['yanglei'])
print(obj['xiaolan']) obj.close() for i in obj:
print(i,obj[i])
第六篇:python基础_6 内置函数与常用模块(一)的更多相关文章
- 十六. Python基础(16)--内置函数-2
十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
- python基础(15):内置函数(一)
1. 内置函数 什么是内置函数? 就是python给你提供的,拿来直接⽤的函数,比如print,input等等,截⽌到python版本3.6.2 python⼀共提供了68个内置函数.他们就是pyth ...
- python基础(内置函数+文件操作+lambda)
一.内置函数 注:查看详细猛击这里 常用内置函数代码说明: # abs绝对值 # i = abs(-123) # print(i) #返回123,绝对值 # #all,循环参数,如果每个元素为真,那么 ...
- Python基础:内置函数
本文基于Python 3.6.5的标准库文档编写,罗列了英文文档中介绍的所有内建函数,并对其用法进行了简要介绍. 下图来自Python官网:展示了所有的内置函数,共计68个(14*4+12),大家可以 ...
- Python基础编程 内置函数
内置函数 内置函数(一定记住并且精通) print()屏幕输出 int():pass str():pass bool():pass set(): pass list() 将一个可迭代对象转换成列表 t ...
- 学习PYTHON之路, DAY 4 - PYTHON 基础 4 (内置函数)
注:查看详细请看https://docs.python.org/3/library/functions.html#next 一 all(), any() False: 0, Noe, '', [], ...
- Python基础_内置函数
Built-in Functions abs() delattr() hash() memoryview() set() all() dict() help() min() setat ...
- python基础(16):内置函数(二)
1. lamda匿名函数 为了解决⼀些简单的需求⽽设计的⼀句话函数 # 计算n的n次⽅ def func(n): return n**n print(func(10)) f = lambda n: n ...
随机推荐
- vue组件 $children,$refs,$parent的使用
如果项目很大,组件很多,怎么样才能准确的.快速的寻找到我们想要的组件了?? 1)$refs 首先你的给子组件做标记.demo :<firstchild ref="one"&g ...
- Portal简介
Portal 在英语中是入口的意思.Portal 认证通常也称为 Web 认证,一般将 Portal 认 证网站称为门户网站. 未认证用户上网时,设备强制用户登录到特定站点,用户可以免费访问其中的服务 ...
- python_27_多级字典嵌套及操作
#key-value 字典无下标 所以乱序,key值尽量不要取中文 person_log={ '大二':{ 'Ya Nan':['free','cute','soso'], 'Sha sha':['微 ...
- javaweb基础(27)_jsp标签库实例
一.开发标签库 1.1.开发防盗链标签 1.编写标签处理器类:RefererTag.java 1 package me.gacl.web.simpletag; 2 3 import java.io.I ...
- 安装CentOS6.9虚拟机
安装CentOS6.9 之前在学习项目时,都是用的按键好的虚拟机.这次自己也尝试搭建一下.(虽然也是google的) 首先大部分过程都是参考https://blog.csdn.net/pengpeng ...
- 梁勇Java语言程序设计第三章全部例题 为第五次作业
完成例题3-1,通过系统当前时间毫秒值获取随机10以内的整数判断加的结果是否正确,不用if语句 package com.swift; import java.util.Scanner; public ...
- require.js模块化开发
模块化开发的原因: 1.引入的js过多然后在加载的过程中容易出现假死的状态,导致页面会发生白屏 2.变量名的问题 在多人协作开发的时候容易出现变量名的冲突 面向对象 3.引入优先级的问题 模块化开发分 ...
- jsp引用servlet生成的验证码代码演示
此演示代码主要包括以下三部分:1.checkCode.java:用于生成验证码2.checkCodeServler3.check.jsp 验证 下面是checkCode.java的内容: 复制代码代码 ...
- 五、Linux 远程登录
Linux 远程登录 Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器. 这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中是通过ss ...
- php短网址生成算法
<?php //短网址生成算法 class ShortUrl { //字符表 public static $charset = "0123456789ABCDEFGHIJKLMNOPQ ...