Python进阶
2021-08-08 22:23:49 13 举报
AI智能生成
Python进阶
作者其他创作
大纲/内容
模块和包管理
内置模块的导入
import关键字将模块整体导入,可以一次性导入多个模块,使用时需要math.sqrt()。
from xxx import xxx具体导入某一个子模块或函数,使用时直接sqrt(),不需要math.sqrt()。
as关键字给模块起别名
from math import sqrt as squarte
自定义模块
同一目录下,可以直接from xxx import xxx
不同目录下,需要from 文件夹.xxx import xxx
__name__ 表示当前文件所在模块的名称,模块可以通过检查自己的 __name__ 来得知是否运行在main 作用域中,这使得模块可以在作为脚本运行时条件性地执行一些代码,而在被 import 时不会执行。直接被运行的文件才是main作用域
if __name__ == '__main__':
常用内置模块
datetime 日期时间
datetime.now() 返回当前时间
datetime.now().year/month/day 返回当前时间的年/月/日
datetime.now().timestamp() 查看当前时间的时间戳,时间戳即从1970年1月1日00:00:00到现在的秒数。
datetime.now().strftime('%Y-%m-%d %H:%M:%S'),返回指定格式的当前日期字符串
datetime.strptime('2020-01-01 00:00:00', '%Y-%m-%d %H:%M:%S'),返回指定格式的指定日期字符串
datetime.now().replace(year=2019),返回2019年的今日
两个datetime对象相减,可以得到相差多长时间
datetime.now() + timedelta(days=20),从当前开始的20天后的时间
datetime.now() - timedelta(hours=2,minutes=30),两个半小时之前的时间
time 时间访问和转换
time.time(),返回当前时间戳
time.strftime('%Y-%m-%d %H:%M:%S'),返回当前时间的格式化字符串
time.sleep(3),程序暂停3秒
random 随机数
random.random(),生成一个随机浮点数,范围[0.0, 1.0),不包括1.0
random.randint(1,100),生成1到100之间的随机整数,包括1和100
random.choice([]),从序列中随机抽取一个元素
random.choices([],k=3),从序列中随机抽取k个数,可能会重复
random.sample([]),与choices类似,但是不会重复
random.shuffle(),将一个序列随机打乱,这个序列不能是只读的。
os 操作系统
os.getcwd() 获取当前目录的路径
os.mkdir(path),创建指定的一层目录
os.makedirs(path),创建指定的多层目录
os.listdir(),返回一个列表,包含了path中所有文件和文件夹
os.path.abspath('./') 显示当前目录的绝对路径
os.path.abspath("__file__") 显示当前执行文件的目录
os.path.isdir(path) 如果是目录,则返回True
os.path.isfile() 如果是文件,返回True
os.sep 目录分隔符
os.path.join(path, *paths) 拼接一个路径,不需要指定分隔符
os.path.dirname(path),返回路径的目录名称
os.path.basename(path),返回路径的基本名词,即路径最后一个文件/文件夹名称
sys 系统相关参数
sys.path,返回一个列表,包含若干个路径,表示的是python查找包的路径顺序。可以通过sys.path.append(' ')来增加导入的路径
sys.argv 表示启动的时候传递给python脚本的命令行参数
函数def
可重复调用的代码
参数
可以有一个、多个或者没有
参数的顺序不能颠倒,如果调用时写上参数名,则无需管顺序
可以加默认值,这样调用的时候可以不传参数
返回值
return关键字将结果返回
return num1, num2 可返回多个值
return语句执行完成后,函数就会结束执行
如果函数没有return语句,那它的返回值就是None
匿名函数
临时需要的函数,逻辑比较简单,即用即抛
lambda n: n * n,这个匿名函数就相当于
def square(n):
return n * n
面向对象
面向过程是根据业务逻辑从上到下写代码
面向对象是将变量与函数、属性绑定到一起,分类进行封装
对象的属性就是可以精确描述事物的特点,对象的函数就是事物的行为
类是创建对象的模板,对象是类的实例
类名一般使用名词,驼峰式命名法
对象的属性和方法
各个对象独有
类的每一个方法的第一个参数就是self,但是调用时不需要传参给它。
初始化对象的时候,可以用__init__函数来接收初始化参数。
对象自身的属性是直接可以在方法里使用的
类的属性和方法
所有对象共享
类属性写在外面,可以通过对象访问,也可以通过类访问
@classmethod 装饰器声明类方法,参数不是self,而是cls。
type()函数可以查看任何对象的类
isinstance('abc', str)可以判断对象与类的关系
dir()函数查看属性和方法
help()函数查看帮助文档,在函数第一行用"""xxx"""写函数帮助文档
id()函数可以查对象所指向的内存空间地址
0 条评论
下一页