大家好我是程序员_蓝天, 本文是为了方便初学者能够快速学习python,写的可能不是很好,希望大家多多包涵。 每个赞都是我前进的动力
初识模块
什么是模块
一个python文件,就是一个模块
模块名就是文件名,不带.py后缀
test.py --> test
作用是什么???
调用其他python文件里的代码,功能.可以更灵活的实现添加各种效果
变量 = 存储一个/多个数据
函数 = 存储代码块(一段代码)
模块 = 我全都要,我就是一个python文件
当我们导入了一个模块后,就可以使用该模块下的所用代码.里面的变量,里面的函数
模块分为三种:
1.内置模块 --> python自带的模块,不需要做额外准备,就能直接使用的功能。
--> print,input,type
1.5标准模块 --> 也是python自带的,但是在使用之前需要进行导入/准备工作
--> time random math
2.第三方模块 --> 不是python自带的,是别人写好的东西,自己另外再下载使用
pywin32 --> windows开发
requests --> 爬虫模块,请求命令
pygame --> 做游戏的
tensorflow --> 人工智能
3.自定义模块:
自己写的py文件.自己写的代码来使用.就属于自定义模块
pip --> pyhton自带的下载工具
python默认下载库就是通过它.如果py环境没装好,pip可能用不了,修复/重装
如何下载第三方模块:
在cmd中输入以下代码
pip install 库名
pip install pygame
pip install pywin32
升级pip下载器(有时你的pip版本太低,下不了最新的库)
python -m pip install --upgrade pip -i https://pypi.doubanio.com/simple
通过代理加速,下载第三方库
pip install 库名 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pywin32 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
卸载模块
在cmd中输入
pip uninstall 模块名
pip uninstall pywin32
模块的使用
模块的使用流程
1.导入模块
2.使用模块
导入模块
import 模块名
import win32api
import time
模块的使用方式
import 模块名
print(模块名.变量名) # 输出模块里的变量
模块名.函数名() # 调用模块里的函数
import a # 导入模块a
print(a.name) # 使用a里面的变量name
a.fun() # 调用a里面的fun函数
当模块名过长或者不好识别时.可以通过as.给它取个别名
as : 取个别名
import 模块名 as 别名
import win32process as pro
import more_drink_hot_water as hot
模块进阶使用
模块的潜规则:
1.命名规范
如果py文件是作为程序使用,那么命名比较宽松
如果py文件是作为模块使用,最好遵守全小写+下划线
user_register # 用户注册模块
user_login # 用户登录模块
2.导入规范
1.不推荐一行导入多个模块
例: import win32gui,win32con,win32api,win32process
荐:
import win32gui
import win32con
import win32api
2.导入的顺序规范
1.最先导入内置模块
2.空一行在导入第三方模块
3.再空一行,再导入自定义模块
import time
import random
import pygame
import test
python导入模块后发生的事情:
1.运行这个模块里的所有代码,确保没有报错
2.生成一个名称空间,这个名称空间和模块名同名,把模块里的变量,函数名字存进去了
3.让当前运行程序连接上这个名称空间,以后就可以通过 模块名. 的方式来使用模块里的数据
如何导入模块的单独功能:
一个模块有100个功能,我只想调用里面的1,2个功能.这个时候可以把模块里的函数单独取出来,节省资源
from 模块名 import 函数名
from test import a # 导入来自test模块里的函数a.只会加载函数a
# 优点: 1.避免不必要的内存资源开销 2.减少代码量
# 缺点: 容易出现重名的情况
from demo import fun
fun()
python中有个__name__方法.它就说能够获取python的执行模式
如果是以程序的身份执行,__name__的值,为__main__
如果是以模块的身份执行,__name__的值,为模块名
python中通过main来判断文件是属于程序还是模块
1. 一个python文件.它的__name__的值为__main__那它就说是个程序.否则它是个模块
2.可以把一些非必要的代码,只作为程序时才执行.放到main判断里
if __name__ == '__main__':
代码块 # 里面的内容,只有当前文件是做成程序运行时才会执行
在pycharm中,输入main按下tab就会自动生成
__file__ 获取文件所在的位置
print(__name__)
print(__file__)
main --> 主要,核心的
模块名 --> 作为模块运行时
模块与包
包是模块的一种变体,本质上也是模块的一种
模块 --> 文件
包 --> 文件夹
包的概念:
把一些功能相同的模块,放到同一个文件夹里,进行统一的管理,并且文件夹里面有个配置文件__init__.py
包的表现形式:
一个文件夹,里面包含了python文件,其中有个叫__init__的文件
包的创建方式:
右键项目文件夹 --> new --> python packAge
包的核心作用:
把一些功能相同/类似的模块放到同一个文件夹里进行统一管理
并且在导入这个包里的模块是,__init__.py的代码会自动执行
可以利用这个机制,把__init__当成是一个配置文件或者一个使用说明.
跨文件夹导入模块的操作:
from 文件夹名 import 模块名
from login import qq_login
from 文件加密.文件夹名 import 模块名 # 如果是用更深的文件,用点进行连接
from a.b import c
常用内置函数
一.基础篇:
数值判断
min() : 获取最小值
max() : 获取最大值
len() : 获取元素个数
sum() : 求和
isinstance(要判断的数据,判断的数据类型): 判断该值是否是指定的数据类型.得到的结果为bool类型
isinstance(18,int)
类型转换
int() : 把数据转换为整形
float() : 把数据转换为浮点型
bool() : 把数据转换为布尔型
str() : 把数据转换为字符串
list() : 把数据转换为列表
tuple() : 把数据转换为元组
dict() : 把数据转换为字典
set() : 把数据转换为集合
chr() : 通过ascii获取对应的字符
ord() : 通过字符吗,获取对应的ascii/Unicode码
常用模块:
time: 时间模块
random: 随机模块
sys : 系统模块
os : 操作系统模块
json: 序列化文件模块
hashlib: 哈希模块