目录
(一)计算代码的执行时长
导入一个time模块。
计算思想:在代码执行前获取一个时间,在代码执行之后再获取一个时间,将它们相减即可。
操作如下:
import time
start=time.time()
x=0
for i in range(1,1000000):
x+=i
print(x)
end=time.time()
print("运行时间为:{}".format(end-start))
装饰器的基本使用:
import time
def cal_time(fn):
print("我是外部函数,我被调用了!")
print("fn={}".format(fn))
def innner():
start = time.time()
fn()
end = time.time()
print("运行时间为:{}".format(end - start))
return innner
@cal_time #第一件事调用cal_time;第二件事把装饰的函数传递给fn
def demo():
x = 0
for i in range(1, 1000000):
x += i
print(x)
#第三件事,当再次调用demo函数时,此时的demo已经不再是上面的demo函数了
print("此时的demo函数为{}".format(demo))
(二)导入模块的五种方式
python里的py文件就可以理解为一个模块。但不是所有的py文件都能作为模块来导入,如果想将一个py文件导入成模块,就必须遵守命名规则。
python为了方便我们开发,提供了很多内置模块,例如:turtle(海龟)模块,还有上述的time模块,那么如何使用这些模块呢。我们使用关键字import+模块名来直接导入这些模块。
使用from 模块名 import 函数名导入一个模块里的方法或者变量。
例如:from random import randint。从模块random中找randint函数。
使用from 模块名 import *表示从模块里面找”所有“方法和变量。
使用from 模块名 as 名称表示导入一个模块并给这个给模块起一个别名,之后可以使用这个别名来使用这个模块里的东西。
使用from 模块名 import 函数名 as 别名。
(三)常见的模块
1.os模块
os模块里提供的方法就是调用操作系统的方法。
import os
print(os.sep) #路径的分割线
print(os.name) #获取操作系统的名字——>windos系列是nt,非windos系列是posix
2.sys模块
具备一些与系统相关的功能。
import sys
print("我爱中国")
sys.exit() #用来退出程序,和内置函数exit()一样
print("哈哈哈")
3.math模块
是一种与数学计算相关的模块。
import math
print(math.factorial(5)) #求阶乘
4.random模块
用来生成随机的数字。
import random
print(random.randint(1,9)) #用于生成1~9的随机数,既包括1也包括9
print(random.randint(1,9))
5.datatime模块
主要用来显示日期和时间。
import datetime as dt
print(dt.datetime.now()) #获取当前的时间
print(dt.date(2020,12,12)) #创建一个日期
6.time模块
用来操作时间,还可以让程序暂停。
import time
print(time.time())#获取从1970-01-01 00:00:00 UTC 到现在的秒数
(四)面向对象的介绍
面向对象:将对象与函数绑到一起,分类进行分装,每个程序只要负责分配给自己的分类,这样可以更快的开发程序,减少代码的重复。
类(由属性和方法构成的一个抽象概念)和对象是面向对象编程的核心概念。
要设计一个类,主要有三个步骤:1.定义类名。2.确定属性。3确定方法。