1.模块

  函数的优点之一,就是可以使用函数将代码块与主程序分离,通过给函数指定一个描述性的名称,并将函数存储在被称为模块的独立文件中,再将模块导入主程序中,通过import语句允许在当前运行的程序文件中使用模块中的代码,一个.py文件就称为一个模块,包含了Python对象定义和Python语句

  如下就是一个简单的模块cal.py

def cal(x,y):
return x+y

  导入模块的方法有很多种

import module      #导入整个模块
from module.xx.xx import xx #导入模块中的特定函数
from module.xx.xx import xx as rename #使用as给函数指定别名
from module.xx.xx import * #导入模块中的所有函数(不推荐)

  对于上面一个模块,如果想要在另一文件中调用它,即:

  这种就通过import导入,但是调用的时候需要使用模块名.函数名的方式调用,即

import cal
print(cal.cal(3,5))

  那么函数再导入模块的时候是以哪个路径为基准呢?

import sys
print(sys.path)

  通过sys.path输出的路径,就是寻找该模块的基准路径。

  模块分为三种

  - 自定义模块

  - 第三方模块

  - 内置模块

  - 自定义模块

2.常用模块

  • time

    时间有关的操作,有三种表达方式:
  • 1.时间戳(time.time)
  • 2.结构化时间(time.localtime)
  • 3.格式化的字符串(time.striftime)
import time
print(time.time()) #时间戳,是指从1970年1月1日0点0分到当前时间过了多少秒,常用来计算
运行结果:1513730364.4014938
print(time.localtime()) #结构化时间,通过这种方式,可以截取具体的年月日时分秒等信息
运行结果:time.struct_time(tm_year=2017, tm_mon=12, tm_mday=20, tm_hour=8, tm_min=40, tm_sec=58, tm_wday=2, tm_yday=354, tm_isdst=0)
t=time.localtime()
print(t.tm_year) #运行结果:2017 可以通过.关键字的方式,截取想要的信息
print(time.strftime("%Y-%m-%d,%X")) #格式化的字符串,必须写入想输出的时间格式
运行结果:2017-12-20,08:48:01
将元组形式的时间转化为字符串形式,返回时间形式为:Thu Dec 28 09:21:06 2017
print(time.asctime())
返回结果格式同asctime
print(time.ctime())
返回UTC时间结构化时间
print(time.gmtime())

  三种表达方式的互相转化

格式化的字符串转换成结构化时间:
print(time.strptime("2017-12-20","%Y-%m-%d"))
将结构化时间转换成时间戳
print(time.mktime(time.localtime()))
将结构化时间转换成格式化的字符串
print(time.strftime("%Y-%m-%d %X",time.localtime()))

  • random

    随机模块,主要功能如下:
import random
#随机生成一个0-1的浮点数
print(random.random())
#随机生成一个整数
#生成一个指定范围内的随机浮点数
print(random.uniform(10,20))
#随机生成一个整数
print(random.randint(1,9))
#从指定范围内,按指定基数递增的集合中 获取一个随机数
print(random.randrange(10,100,2)) #随机取10-100之间的偶数
#从序列中随机获取一个元素
print(random.choice(["tuple","list","dic"]))
#将一个列表中的元素打乱
p=["tuple","list","dic"]
random.shuffle(p)
print(p)

  随机数小案例 ,生成一个五位的随机数

import random
def random_code():
res=""
for i in range(5):
num=random.randint(0,9)
alf=chr(random.randint(60,100))
result=str(random.choice([num,alf]))
res+=result
return res
print(random_code())

  • os模块

  提供对操作系统进行调用的接口,该模块的介绍我在linux操作系统下完成

os.getcwd()                 获取当前所在路径
os.chdir("test") 改变当前的工作路径,相当于cd
os.makedirs('test/test1') 创建多级目录
os.removedirs('test1') 递归删除,如目录为空,则删除
os.mkdir('test') 创建单级目录
os.rmdir('dirname') 删除单级空目录,目录不为空无法删除,报错
os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
os.remove() 删除一个文件
os.rename("oldname","new") 重命名文件,用“,”分割
os.stat('path/filename') 获取文件/目录信息
os.sep 操作系统的路径分隔符,win下为"\\",Linux下为"/"
os.linesep 当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
os.pathsep 用于分割文件路径的字符串
os.name 字符串指示当前使用平台。win->'nt'; Linux->'posix'
os.system("bash command") 运行shell命令,直接显示
os.environ 获取系统环境变量
os.path.abspath(path) 返回path规范化的绝对路径
os.path.split(path) 将path分割成目录和文件名二元组返回
os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

  • sys模块
sys.argv           命令行参数List,第一个元素是程序本身路径
sys.exit(n) 退出程序,正常退出时exit(0)
sys.version 获取Python解释程序的版本信息
sys.maxint 最大的Int值
sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.platform 返回操作系统平台名称
sys.stdin 输入
sys.stdout 输出
sys.stderror 错误

  进度百分比小案例

import sys
import time
def calc(num, total):
rate = float(num) / float(total) #float 浮点数关键字
rate_num = int(rate * 100)
r = '\r%d%%' % (rate_num, ) #要加上/r转义符,表示将输出的内容返回到第一个指针,即覆盖前面的内容
sys.stdout.write(r)
sys.stdout.flush() if __name__ == '__main__': #这条语句,如果用在被调用文件里面,用于被调用文件的一个测试
for i in range(0, 101): # 如果放在执行文件里面,就是不想让该文件让齐塔程序调用
time.sleep(0.1)
calc(i, 100)

  进度条小案例

import sys
import time
for i in range(100):
sys.stdout.write("#")
time.sleep(0.1)
sys.stdout.flush()

  因为工作原因,最近一周没有更新博客,我会在这周补回来,下一篇文章我会重点写re模块。

Python函数篇(6)-常用模块及简单的案列的更多相关文章

  1. Python-常用模块及简单的案列

    1.模块   函数的优点之一,就是可以使用函数将代码块与主程序分离,通过给函数指定一个描述性的名称,并将函数存储在被称为模块的独立文件中,再将模块导入主程序中,通过import语句允许在当前运行的程序 ...

  2. 第六章:Python基础の反射与常用模块解密

    本课主题 反射 Mapping 介绍和操作实战 模块介绍和操作实战 random 模块 time 和 datetime 模块 logging 模块 sys 模块 os 模块 hashlib 模块 re ...

  3. Python之路【第七篇】:常用模块

    一. 模块介绍 1. 什么是模块 在前面的几个章节中我们基本上是用 python 解释器来编程,如果你从 Python 解释器退出再进入,那么你定义的所有的方法和变量就都消失了. 为此 Python ...

  4. Python学习—基础篇之常用模块

    常用模块 模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要 ...

  5. Python函数篇(7)-正则表达式

    1.正则表达式   正则表达式为高级的文本模式匹配,抽取,与/或文本形式的搜索和替换功能提供了基础,简单的来说,正则表达式是由一些字符和特殊符号组成的字符串.Python通过标准库中的re模块来支持正 ...

  6. python学习笔记之常用模块(第五天)

    参考老师的博客: 金角:http://www.cnblogs.com/alex3714/articles/5161349.html 银角:http://www.cnblogs.com/wupeiqi/ ...

  7. Python 之路 Day5 - 常用模块学习

    本节大纲: 模块介绍 time &datetime模块 random os sys shutil json & picle shelve xml处理 yaml处理 configpars ...

  8. Python之几种常用模块

    模块 注意事项: 所有的模块导入都应该尽量往上写 内置模块 扩展模块 自定义模块 模块不会重复被导入 : sys.moudles 从哪儿导入模块 : sys.path import import 模块 ...

  9. python学习日记(常用模块)

    模块概念 什么是模块 常见的场景:一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上.py的后缀. 但其实import加载的模块分为四个通用类别: 1 使用python编写的代 ...

随机推荐

  1. MySQL分类表设计--根据ID删除全部子类

    在做数据库分类表的时候,通常会有这样的设计:一个字段是ID,另一个字段PID,PID指向自己的上级分类: 这样的设计带来的问题是:我要删除一个类,我希望它的子类全部一起删除: 在不知道分类有多少层级的 ...

  2. 一个简单的迷你jQuery实现

    //仅提供与学习使用(function () { var _$ = window.$; var _jQuery = window.jQuery; //暴露外部使用的一个接口 var jQuery = ...

  3. 跨域请求cookie获取与设置问题

    描述:最近做项目遇到了cookie的问题,项目为前后端分离项目,前台有分外网IP(A外)和内网IP(A内),后台服务只有一个内网IP(B内). 现象:当我前台异步请求发送给后台的时候,后台并不能获取到 ...

  4. c语言的typedef

    一.typedef作用简介 1.作用:给已经存在的类型起一个新的名称 2.使用场合: 1> 基本数据类型 2> 指针 3> 结构体 4> 枚举 5> 指向函数的指针 * ...

  5. 2712:细菌繁殖-poj

    2712:细菌繁殖 总时间限制:  1000ms 内存限制:  65536kB 描述 一种细菌的繁殖速度是每天成倍增长.例如:第一天有10个,第二天就变成20个,第三天变成40个,第四天变成80个,… ...

  6. CSS以图换字的9种方法

    前面的话 CSS以图换字的技术,很久都没人提起了.它是一种在h1标签内,使用图像替换文本元素的技术,使页面在设计和可访问性之间达到平衡.本文将详细介绍CSS以图换字的9种方法 文字隐藏 在h1标签中, ...

  7. iframe自适应高度???

    最近在做一个项目,部分内容是iframe嵌套的,结果发现它不能自适应高. 于是乎我就用js iframe.height(iframe里body的高度),然并卵用.后来才发现,子页面(iframe所写的 ...

  8. CCF-201403-1-相反数

    问题描述 试题编号: 201403-1 试题名称: 相反数 时间限制: 1.0s 内存限制: 256.0MB 问题描述: 问题描述 有 N 个非零且各不相同的整数.请你编一个程序求出它们中有多少对相反 ...

  9. C# DateDateTimePicker设置属性ShowCheckBox为True

    DateDateTimePicker的属性ShowCheckBox为True后,可以使用时间控件的复选框. 但是如果,你想设置CheckBox的选中状态为False的话,那么请注意赋时间值和赋状态值的 ...

  10. Python+Selenium webdriver Api

    # -*- coding: utf-8 -*- from selenium import webdriver browser = webdriver.Firefox() #browser.set_wi ...