Python自动化五--函数补充,常用模块

1.内置函数

python内置的一些函数:

print()#输出函数
input()#输入函数
int() #将一个字符串或数字转换为整型
dict() #创建一个字典
set() #创建一个集合
list() #将元组转换为列表
str()#返回一个对象的string格式
len() #返回对象(字符、列表、元组等)长度或项目个数
open() #打开一个文件,创建一个 file 对象
tuple() #将列表转换为元组
type() #返回对象的类型
max() #返回字符串中最大的字母
dir() #返回当前范围内的变量、方法和定义的类型列表
sorted() #函数对所有可迭代的对象进行排序操作
#reverse = True 降序 ,reverse = False 升序(默认)。
print(chr(97))#打印数字对应的ascii
print(ord('b'))#打印字符串对应的ascii码
round() #保留几位小数
eval() #python执行代码
exec() #执行python代码

enumerate()#函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
seq = ['one', 'two', 'three']
for i, element in enumerate(seq):
    print i, element

zip() #将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
a = [1,2,3]
b = [4,5,6]
zipped = zip(a,b)     # 打包为元组的列表
[(1, 4), (2, 5), (3, 6)]

format() 字符串格式化函数 优点是解决参数过多时,赋值混乱的情况

msg='欢迎光临{name},今天的日期是{today}'
msg=msg.format(name='hi',today=datetime.datetime.today())
print(msg)

sql='insert into my_user value (%s,%s,%s,%s,%s)'%(id,name,sex,addr,phone)
sql='insert into{} value{}'.format('abc,','bcd')

format_map()
d={'name':'小黑','sex':'不知道'}
words='名字:{name},性别:{sex}'.format_map(d)
print(words)

字符集

电脑只认识二进制 0 1
ASCII码  A=65   a=97   美国人创造
gb2312  gbk  unicode  utf-8    存储中文字符
unicode 通用编码  所有字符一律2个字节
python2 默认编码 ascii码
python3 默认编码  utf_8

局部变量:在函数里面定义的变量都是局部变量,出了函数之后就不能用了

全局变量:在文件最上面定义的这个变量,就是全局变量

可变参数 * 非必填,对参数个数没有限制

** 传参数,把参数放在字典里,必须用关键字传参

def my(name,sex='男',*args,**kwargs):
    print(name)
    print(args)
    print(sex)
    print(kwargs)

my('xiaohei','hhh','args','args2',k1='v1',k2='v2')

random.sample() 随机选取指定个元素

import  random
res=random.sample(range(1,34),6)
print(res)

列表推导式

res=[26,7,18,27,32,28]
#列表生成式,列表推导式
res=[str(i).zfill(2) for i in res]
print(res)
2.模块

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。模块可以被别的程序引入,以使用该模块中的函数等功能。

2.1 1 标准模块

python自带的模块就是标准模块,也就是可以直接import进来的就是标准模块

import json
import random
import datetime
import time
import os

2.12 第三方模块

别人写好的模块,你安装完之后就能用

安装途径:

  1. pip install pymysql
#1、pip命令不存在的,把python安装目录下的scrips加入环境变量
python2  -m pip install xxxx
python3  -m pip install xxxx

2.手动安装

​ (1).whl文件
1、先从python官网上下载安装文件
2、pip install c://xxx/xxxx/xxx.whl
(2) .tar.gz文件
1、先从python官网上下载安装文件
2、解压
3、在命令行里面进入到解压之后的文件夹中
4、python setup.py install

2.13.自己写的python文件

2.2 常用模块

import os

os.getcwd()#获取当前的路径
os.mkdir('spz1') #创建文件夹
os.makedirs('stu\\laowang') #若父目录不存在,会自动创建
os.rmdir('d:\\SJ1\\') #删除文件夹
os.remove('d:\\SJ1\\') #删除指定路径文件
os.listdir(r'd:\\') #获取当前目录下的文件
os.walk() #通过在目录树中游走输出在目录中的文件名,向上或者向下。
os.path.join('nhy123','test0','a.txt')#拼接路径,它会自动识别路径分隔符
os.sep()#当前系统的路径分隔符
os.path.dirname('e:\\nhy123\\test0\\a.txt'))#获取父目录的路径os.path.getsize('e:\\nhy123\\test0\\a.txt') #获取文件大小的
os.path.exists('code')#判断文件、文件夹是否存在
os.path.isdir('e:\\')  #判断是否是文件夹,如果文件夹不存在的话,会返回False
os.path.isfile(r'e:\\nhy123\\test0\\a.txt')#判断是否是文件,如果文件不存在的话,会返回False
os.path.split(r'e:\nhy123\test0\a.txt')#分割文件名和路径的

小例子---把末尾是偶数的文件夹中,创建一个a.txt,里面随便写点东西

for dir in os.listdir('d:\\shangjie'):
    if int(dir[-1])%2==0:
        ads_path=r'd:\\shangjie\\%s\\a.txt'%dir
        with open(ads_path,'w') as fw:
            fw.write('test')

 for cur,dirs,files in os.walk(r'd:\\shangjie'):
      print(cur,dirs,files)
      for f in files:
          new_file_name=f+'.bak'
          old_file_name=os.path.join(cur,f)
          os.rename(old_file_name,new_file_name)

import time 日期相关

#时间戳  从Unix元年开始到现在的秒数
#格式化好的时间  2018-07-01
#时间元祖
print(time.time()) #获取当前时间戳
print(time.strftime('%Y-%m-%d %H:%M:%S'))
print(time.gmtime()) #把时间戳转成时间元祖  如果不传时间戳,去的是标准时区的
print(time.localtime()) #把时间戳转成时间元祖   如果不传时间戳,去的是当前时区

小例子---时间戳与时间格式互转函数

#1、时间戳转格式化好的时间
	# 1、首先要把时间戳转成时间元组
	# 2、再把时间元组转成格式化好的时间
def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
	if timestamp:
		time_tuple = time.localtime(timestamp)  # 转成时间元组
		return time.strftime(format,time_tuple) #把时间元组,转成格式化好的时间
	return time.strftime(format)

#2、格式化好的时间,转时间戳,
	#1、首先要把格式化好的时间 转成时间元组
	#2、再把时间元组转成时间戳
def strToTimestamp(format_time=None,format='%Y%m%d%H%M%S'):
	if format_time:
		time_tuple = time.strptime(format_time, format)#把格式化好的时间,转成时间元组
		return int(time.mktime(time_tuple))
	return int(time.time())
posted @ 2018-07-05 21:08  土豆稀饭  阅读(149)  评论(0编辑  收藏  举报