python函数求导 不使用模块_Python函数篇(6)-常用模块及简单的案列

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 * #导入模块中的所有函数(不推荐)

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

f665552d99b03b283bfeea8e3d08e243.png

这种就通过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模块。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值