0-1 类对象 - 类属性
0-2 类方法
定义格式:
@classmethod
def 方法名(cls,...):
pass
调用格式:
类对象.类方法名
注意:
在类方法中,不能使用self
但是可以使用 cls,该参数用来表示 当前类对象,这个参数也是自动传递的\
应用场景:
一般在设计类时,如果有类方法,该类一般不会去实例对象,直接使用类对象来操作(比如:数学函数类)
一役用来定义工具类使用
Math.max(1,2)
0-3 静态方法
格式:
@staticmethod
def 方法名(参数列表....):
pass
调用方式:
同类方法
类对象.静态方法名()
设计目的:
静态方法实际上就是放到类当中的一堆普通函数
作用:
静态方法同类方法相似,也是在不需要实例对象产生的条件下,可以使用静态方法来实现
一般这两种方法,都是用在工具类的实现上.
通过类,将一系列的功能方法进行整合到一起.
# 实例方法,必须通过实例对象调用执行,(第一个参数是当前调用该方法的实例)
# 类方法, 当不需要产生实例对象时,可以使用类方法来实现相应的代码功能,类方法可以直接
使用类对象来调用,类方法的第一个参数是 cls,用来接收当前类对象,通过个参数,
可以各个类方法中进行共享数据
# 静态方法, 作用同类方法相似,但是静态方法不接收任何默认参数(实例对象或类对象),静态方法
其实就是将一些相关联的普通方法使用类进行整合.
类方法和静态方法,一般在使用时,大多数用来实现工具类.
1. 模块介绍
在Python中,一个.py文件就是一个模块
在Python,万物皆对象,模块也不例外
通过模块,可以有效的组织代码结构,让代码结构更加清晰
但是,初期可能让大家逻辑上更加混乱
2. 导入模块
导入模块是指:
在一个.py文件中,使用另外一个.py文件时,需要将这个文件导入
在一个模块中,使用另外一个模块时,需要将这个模块导入
import os
import time
import random
import sys
import functools
方式一:
import 模块名 (掌握)
方式二:
from 模块名 import 成员名 (掌握)
特例:
from 模块名 import * (掌握)
别名:
import 模块名 as 别名
from 模块名 import 成员名 as 成员别名
两种导入方式区别:
1.import方式,是拿到了模块对象的引用地址,通过这个地址来使用模块中的成员
2.from-import方式,相当于将被导入模块中的成员,复制了一份到本地模块中.所以可以直接使用成员来访问被导入的成员
3.对于 import 方式来说,没有任何限制
4.对于from-import方式来说,有些成员是不能被导入的(有权限限制)
3. __all__
__all__ 是一个魔法属性,类型是一个列表,元素是字符串类型
作用:
可以改变在使用 from-import 方式导入模块时,成员的导入规则
3.1 from-import
在导入时,会产生命名冲突问题
在程序中最后的定后会起作用
4. 模块导入的搜索顺序(了解)
模块的分类:
1.自定义模块
2.系统模块
3.第三方模块
查找顺序:
1. 当前程序所在目录
2. 在当前程序所在工程的根目录
3. PYTHONPATH
4. 系统目录
5. site_packages 第三方模块的安装目录
__name__ (掌握)
作用:
如果__name__ 出现在当前执行的模块中时,得到的值是 __main__ 这个字符串,用来表示执行的是当前文件
如果__name__ 出现在在了被导入模块中时,得到的值是被导入模块的模块名
5. 包
包:就是一个文件夹
区别:
在python3以前,包中是有一个文件 __init__.py ,没有该文件的就是一个普通 的文件夹,有该文件才是包
在python3以后,不管有没有,都认为是一个包
6. 导入包中的模块
方式一:
通过包和模块的路径,明确的告诉解释器,要导入哪个包里的哪个模块
import 包名.模块名
from 包名 import 模块名
from 包名.模块名 import 成员名
方式二:
import 包名
from 包名 import *
在导入时,不会指定模块名,只指定包名
这时,默认情况下(__init__.py 为空)哪个模块都不会导入
为了能让模块正常导入,这里需要 __init__.py 文件中设置可以被导入的模块
通过方式:
from . import 模块名
注意:
__all__ 只对 from 包名 import * 方法生效,对 import 包名 方式无效
__all__ 在 __init__.py 文件中的使用了解即可
如果包有很多层级的情况:
www.itcast.cn
cn
itcast
python
java
c++
from cn.itcast.python import database
www.itcast.cn
cn
itcast
web
a.py
b.py
c.py
spider
a.py
b.py
c.py
# 小结模块导入:
1. 导入模块:
两种方式
import 包名.模块名 -> 包名.模块名.成员
from 包名.模块名 import 成员名 -> 直接使用成员
from 包名 import 模块名 -> 模块名.成员
from 包名.模块名 import * -> 直接使用成员
2. __all__ 这个魔法属性,会影响 from - import * 这种导入方式的模块
在all 中指定的模块或成员会被导入,没有指定的不会被导入
3. 了解模块导入时的搜索路径
sys模块中的path变量中保存了搜索路径
a. 当前程序所在同级目录
b. 当前程序所在工程的根目录
c. PYTHONPATH 环境变量中设置的目录
d. 系统目录
e. site-packages 这个第三方模块安装目录
4. 包
包就是一个文件夹
包和普通文件夹的功能在于 包中有一个 __init__.py 文件
该文件的作用是在只导入包时,指定可以导入的模块有哪些
如果这个文件是空的,那么在导入这个包时,不会导入任何模块
在指定可以导入的模块时, 可以使用 from . import 可导入模块名
没有合适的资源?快使用搜索试试~ 我知道了~
python一阶段基础教程(10到11天)
共100个文件
mp4:42个
py:30个
pyc:11个
需积分: 0 2 下载量 95 浏览量
2023-03-23
19:39:33
上传
评论
收藏 673.04MB ZIP 举报
温馨提示
python基础教程,教学小白python入门知识,分天数教程,简单入门,后续有进阶教程 内附笔记与练习方法 让小白也可以轻松上手python知识 附加python基础包 适合零基础学员对于python感兴趣的学员,可以慢慢学习内容
资源推荐
资源详情
资源评论
收起资源包目录
python一阶段基础教程(10到11天) (100个子文件)
data 29B
.DS_Store 6KB
(1).DS_Store 6KB
3.学生管理系统-程序框架搭建.mp4 33.26MB
11.通过__init__.py设置导入模块时的权限.mp4 31.11MB
练习-9.mp4 29.48MB
4.学生管理系统-启动程序功能实现.mp4 29.3MB
5.学生管理系统-操作逻辑实现.mp4 26.99MB
5.import方式导入模块.mp4 26.73MB
1.回顾.mp4 26.51MB
2.Pep8规范-了解 .mp4 26.46MB
7.模块导入的命名冲突问题.mp4 26.01MB
2.静态方法.mp4 25.83MB
18.异常处理之else和finally.mp4 25.6MB
8.模块导入顺序.mp4 22.86MB
练习-10.mp4 22.25MB
1.类方法.mp4 21.6MB
20.自定义异常和抛出.mp4 19.92MB
16. 异常传递.mp4 19.48MB
练习-5.mp4 17.95MB
10.从包中导入模块及模块中的成员.mp4 16.23MB
9.__name__属性设置程序入口.mp4 15.99MB
6.学生管理系统-添加学生.mp4 15.49MB
练习-7.mp4 14.98MB
练习-8.mp4 14.46MB
6.from-import方式导入模块.mp4 13.49MB
练习-6.mp4 12.32MB
4.使用系统模块.mp4 11.74MB
15.异常处理.mp4 11.5MB
14.异常介绍.mp4 11.4MB
13.模块导入小结.mp4 11.35MB
练习-11.mp4 11.32MB
9.学生管理系统-修改学生.mp4 10.43MB
10.学生管理系统-删除学生.mp4 9.32MB
21.异常小结.mp4 9.12MB
17捕捉多个异常及打印异常信息.mp4 8.71MB
19.自定义异常类.mp4 8.7MB
练习-3.mp4 8.26MB
11.学生管理系统-读取和写入数据.mp4 8MB
练习-4.mp4 7.51MB
7.学生管理系统-查找 学生.mp4 7.11MB
练习-2.mp4 6.38MB
8.学生管理系统-查找 学生补充.mp4 6.35MB
12.__all__在init文件中的用法.mp4 5.96MB
3.模块介绍.mp4 4.36MB
练习题.py 9KB
student_manager.py 7KB
p_05模块导入的两种方式和别名.py 1KB
p_10_init_py文件的作用.py 991B
p_16自定义异常.py 854B
p_15异常处理子句else.py 730B
p_02类方法.py 692B
p_08模块.py 607B
p_03静态方法.py 590B
student.py 571B
p_12基本的异常处理.py 519B
p_09使用包中的模块.py 451B
p_06导入模块时的问题.py 421B
p_06模块.py 418B
__init__.py 417B
p_13异常的传递.py 409B
p_04测试文件.py 367B
练习题验证.py 330B
p_04系统模块的使用.py 296B
main.py 287B
p_01变量多态.py 280B
p_14捕捉多个异常.py 239B
p_07模块查找顺序.py 205B
p_08name的使用.py 202B
p_11异常介绍.py 193B
p_04自定义模块.py 191B
p_17处理自定义异常.py 177B
p_05模块.py 139B
a.py 5B
b.py 5B
练习题.cpython-36.pyc 5KB
student_manager.cpython-36.pyc 5KB
p_16自定义异常.cpython-36.pyc 1KB
student.cpython-36.pyc 824B
p_04自定义模块.cpython-36.pyc 628B
p_08模块.cpython-36.pyc 617B
p_05模块.cpython-36.pyc 574B
p_06模块.cpython-36.pyc 236B
b.cpython-36.pyc 150B
a.cpython-36.pyc 149B
__init__.cpython-36.pyc 148B
text 2KB
Day10-1.txt 5KB
._Day1.txt 4KB
._Day10-1.txt 4KB
._Day10-2.txt 4KB
Day10-2.txt 2KB
Day1.txt 730B
a.txt 5B
基础班常用单词及简单释义.xlsx 15KB
基础班常用单词及简单释义(1).xlsx 15KB
workspace.xml 26KB
workspace.xml 24KB
modules.xml 270B
modules.xml 269B
共 100 条
- 1
资源评论
七七八八九九
- 粉丝: 210
- 资源: 183
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功