一、内容回顾
-
作业讲解
# sys.argv练习
# 写一个python脚本,在cmd里执行
# python xxx.py 用户名 密码 cp 文件路径 目的地址
# python xxx.py alex sb cp D:\python_22\day22\1.内容回顾.py D:\python_22\day21
# python D:\python_22\day23\2.作业讲解_函数相关的.py alex sb rm D:\python_22\day23\6.作业.py
# python D:\python_22\day23\2.作业讲解_函数相关的.py alex sb rename D:\python_22\day23 D:\python_22\day24
# python D:\python_22\day23\2.作业讲解_函数相关的.py alex sb move D:\python_22\day23\文件 D:\python_22\day24
# python D:\python_22\day23\2.作业讲解_函数相关的.py alex sb mkdir D:\python_22\新的文件夹名
# 在这个基础上实现一个move移动 把一个文件或者文件夹移动到另一个位置
# 创建文件夹
# import os
# import sys
# import shutil
# if len(sys.argv) >= 5:
# if sys.argv[1] =='alex' and sys.argv[2] == 'sb':
# if sys.argv[3] == 'cp' and len(sys.argv) == 6:
# if os.path.exists(sys.argv[4]) and os.path.exists(sys.argv[5]):
# filename = os.path.basename(sys.argv[4])
# path = os.path.join(sys.argv[5],filename)
# shutil.copy2(sys.argv[4],path)
# elif sys.argv[3] == 'rm' and len(sys.argv) == 5:
# if os.path.exists(sys.argv[4]):
# if os.path.isfile(sys.argv[4]):os.remove(sys.argv[4])
# else:shutil.rmtree(sys.argv[4])
# elif sys.argv[3] == 'rename'and len(sys.argv) == 6:
# if os.path.exists(sys.argv[4]):
# os.rename(sys.argv[4],sys.argv[5])
# else:
# print('您输入的命令无效') -
面向对象
-
类
-
类是具有相同属性和相似功能的一类事物
-
-
对象
-
对象 == 实例
-
给类中所有的属性填上具体的值就是一个对象或者实例
-
只有一个类,但是可以有多个对象都是属于这个类的对象
-
-
实例化
-
类名+()==实例化
-
首先开辟空间
-
调用init方法,把开辟的空间地址,传递给self
-
init方法一般完成,把属性的值存储在self空间内——对象的初始化
-
self这个地址会作为返回值,返回给‘实例’
-
-
-
方法
-
定义在类里的函数,并且还带有self参数的,叫做方法
-
-
实例变量
-
self.name
-
-
-
类 : 这个类有什么属性 用什么方法 大致的样子
不能知道具体的属性对应的值
对象 :之前所有的属性值就都明确了
类型 :int float str dict list tuple set -- 类(内置的数据类型,内置的类)
变量名 = xx数据类型对象
a = 10
b = 12.5
l = [1,2,3]
d = {'k':'v'}
o = 函数
q = 迭代器
u = 生成器
i = 类名
python中一切皆对象,对象的类型就是类
所有的对象都有一个类型,class A实例化出来的对象的类型就是A类
123的类型是int/float
'ajksfk'的类型是str
{}的类型是dict
alex = Person()的类型是Person
小白 = Dog()的类型是Dog
def abc():pass
print(type(abc))