python基础2

一.包使用注意事项

1.__init__.py通过__all__来控制允许导入的模块  注意此针对from *import *导入方式生效,对import *导入方式不生效
2.包具有层级关系,即包里面还可以创建包

二:第三方库的使用

1.pip是python的包管理器,允许你安装和管理第三方库和依赖  使用方法是进入到控制台输入命令pip install 库名/包名
默认源在国外可以使用国内的源进行下载 指令:  pip install -i 指定源 库名/包名
2.使用pycharm安装

三:面向对象编程

在python中,创建一个对象可以直接  对象名 = 类名()
类是抽象的,代表一类东西,如人,猫,狗,即他是一种数据类型.而对象是具体的,实际的,代表一个具体事物.类是对象的模版,对象是类的一个实体,即对应一个个例
如果给属性指定了值,那么创建的对象,属性(即定义在类里面的变量)就有值
定义成员方法:def 方法名(self,参数列表):     这里的self代指对象本身,通过self可以访问到对象的属性或者方法
当对象作为参数传递时,实际是地址传递.,即作为参数时将参数的值进行改变,对象的值也会跟着改变
python可以动态的添加一个方法或者属性,也就是不需要事先定义一个方法或者属性
构造方法语法:def __init__(self,参数列表)  与java不同的是,当有多个构造器时,只有最后一个才会生效,构造方法不能有返回值
1.面向对象编程-封装:封装就是把被抽象出来的数据(属性)和对数据的操作(方法)封装在一起,数据被保护在内部.程序只有通过被授权的操作,才能对数据进行访问
pyhon中的私有属性:在变量前面加入两个下划线即表示私有属性.如果是公共属性在类的外面就可以访问,如果是私有属性在类的外面就不可以访问.访问私有属性,需要在类的里面定义公共的方法来对私有属性进行访问
2.面向对象编程-继承:继承的基本语法 class 派生类(基类)  子类继承了父类所有的属性和方法,python中可以继承多个父类  python中访问父类成员可以通过父类名访问或者通过super()形式访问
3.面向对象编程-重写 即子类继承了父类的属性或者方法后,根据业务的需要重新定义属性或者方法
4.类型注解:可以防止运行时出现参数类型,返回值类型,变量类型不符合   ①变量类型注解:变量名:数据类型    ②函数类型注解 def 函数名(参数一:参数类型,参数二:参数类型,...)->数据类型(即返回值类型):函数体
5.union类型可以定义联合类型注解,即满足多个类型中一个即可  如 number:Union[int,float,str]
6.面向对象编程-多态 顾名思义多种状态,不同的对象调用一样的方法,表现出不同的状态,多态通常用在继承关系上  在python编程中,子类对象可以传递给父类类型
isinstance用于判断对象是为某个类或者其子类的对象,基本语法 isinstance(object(对象),classinfo)    ***当调用对象成员时,会和对象本身动态关联***
7.魔术方法:在python中所以__包起来的方法都称为魔术方法,不需要调用就可以自动执行
8.class对象和静态方法: 类本身也是一个对象称为类对象  @staticmethod注解可以将方法直接转化为静态方法,静态方法不接收第一个隐式参数
9.抽象类:抽象类不能被实例化,抽象类需要继承ABC,并且至少需要一个抽象方法,子类如果没有完全实现父类的抽象方法,那么子类仍然是一个抽象类

四:异常

1.异常语法:try:执行代码   except [异常 as 别名]:发生异常时执行的代码 [else:]未发生异常执行的代码 [finally:]无论发没发生异常都执行的代码                        []表示可选项
2.异常一旦发生,则异常后面的语句将不会执行
3.使用raise语句主动触发异常

五:文件操作

1,语法:open(file,mode='',buffer = ,encoding = ......)
file代表路径,mode表示打开文件的方式,buffer是一个可选地整数,用于设置缓冲策略,encoding是编码方式
注意当使用w方式打开文件的时候,如果文件不存在会创建文件,如果存在则会清空文件之前的内容,我们可以设置mode为a用于追加文件
2.使用 with子句代码更加简洁高效  with open() as f:            字句结束后,文件会自动关闭
3。注意事项,当调用f。write时,内容没有真正的写入到文件而是放到了缓冲区,执行f.flush()才会将内容写入文件
#读操作
f = open("D://Study//abc.txt", mode="r", encoding="utf-8")
#1. 一次读取文件的整个内容
# contend = f.read()
# f.close()
# print(contend)
# 2.按照行的方式读取,每次只读取一行
# line1 = f.readline()
# line2 = f.readline()
# f.close()
# print(line1,end = "")
# print(line2)
# 3.以列表形式读取文件所有行
# lines = f.readlines()
# print(lines)
# f.close()
# 4.for line in f 形式进行读取
for line in f:
    print(line,end = "")
f.close()
# 写操作,当mode模式为w时,会先清空文件夹,然后再写入
# f = open("D://Study//abc.txt","w",encoding = "utf-8")
# i = 1
# while i<= 10:
#     f.write(f"hello,韩顺平教育\n")
#     i += 1
# f.close()
# 2.以追加的方式写入

f = open("D://Study//abc.txt", mode="a", encoding="utf-8")
i = 1
while i < 10:
    f.write("北京欢迎你\n")
    i = i + 1
f.close()



# 引入os模块删除文件
if os.path.exists("D://Study//abc.txt"):
    os.remove("D://study//abc.txt")
    print("真的不存在")
else:
    print("不存在")

# 对目录的操作
# 创建一级目录aaa
os.mkdir("D://aaa")
# 创建多级目录
os.makedirs("多级目录地址")
# 删除目录
os.removedirs("目录地址")
#其余见python文档
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值