每篇必看前言:

该笔记适用于有C/C++/Java基础的想要迅速掌握Python语法的人。

该笔记是以B站黑马2022版教程为背景,所作的笔记。


文件读写基本语法:

python黑马2020 python黑马全套教程_c++

 

python黑马2020 python黑马全套教程_java_02

文件对象相关方法:

读取方法:

read、readlines、readline:

python黑马2020 python黑马全套教程_c++_03

 

python黑马2020 python黑马全套教程_c语言_04

read方法演示:

如果在一个程序中多次调用read方法,则下一个read读取的开始位置是上一个read读取的结束位置。

如下:

test.txt原文本内容:

python黑马2020 python黑马全套教程_c++_05

f=open("D:/重要文件保护/Desktop/test.txt", "r", encoding="UTF-8")
print(type(f))
content=f.read(3)
content1=f.read()
print(content)
print(content1)
f.close()

python黑马2020 python黑马全套教程_python_06

readlines和readline方法演示:

test.txt原文本内容:

python黑马2020 python黑马全套教程_c语言_07

f=open("D:/重要文件保护/Desktop/test.txt", "r", encoding="UTF-8")
content=f.readlines()
print(type(content))
print(content)
f.close()

python黑马2020 python黑马全套教程_java_08

f=open("D:/重要文件保护/Desktop/test.txt", "r", encoding="UTF-8")
content=f.readline()
print(content)
content=f.readline()
print(content)
f.close()

python黑马2020 python黑马全套教程_java_09

循环读取演示:

for f in open("D:/重要文件保护/Desktop/test.txt", "r", encoding="UTF-8"):
    print(f)

python黑马2020 python黑马全套教程_python黑马2020_10

close方法(建议这部分看原视频):

python黑马2020 python黑马全套教程_java_11

import time

f=open("D:/重要文件保护/Desktop/test.txt", "r", encoding="UTF-8")
for line in f:
    print(line)
f.close()
time.sleep(50000)

通过调用f.close(),此时虽然py程序仍在继续运行,但文件可以正常删除

withopen(建议这部分看原视频):

python黑马2020 python黑马全套教程_c语言_12

此时如果在结尾加入time.sleep()且不加f.close(),最后虽然py程序还在继续运行,但文件可以正常删除。

import time

with open("D:/重要文件保护/Desktop/test.txt", "r", encoding="UTF-8") as f:
    for line in f:
        print(line)
time.sleep(50000)

写入方法:

write和flush:

python黑马2020 python黑马全套教程_c语言_13

import time

with open("D:/重要文件保护/Desktop/test.txt", "w", encoding="UTF-8") as f:
    f.write("shanshandeisu")
    f.flush()
    time.sleep(50000)
    f.close() # 如果省略了flush的话其实也没有关系,因为close内置了flush

追加写入方法:

import time

with open("D:/重要文件保护/Desktop/test.txt", "a", encoding="UTF-8") as f:
    f.write("\nzhengzhengkawayinie")
    f.flush()
    time.sleep(50000)
    f.close()

异常:

基本语法:

try:

        可能发生错误的代码

except[异常 as 别名]:

        如果出现异常执行的代码

[else:]

        未出现异常时应做的事情

[finally:]

        不管出不出现异常都会做的事情

例:

import time

try:
    with open("D:/重要文件保护/Desktop/test.txt", "r", encoding="UTF-8") as f:
        f.write("\nzhengzhengkawayinie")
except:
    with open("D:/重要文件保护/Desktop/test.txt", "a", encoding="UTF-8") as f:
        f.write("\nzhengzhengkawayinie")
finally:
    f.flush()
    time.sleep(50000)
    f.close()

模块(建议这部分看原视频):

模块就是一个Python文件,以.py结尾,里面有类、函数、变量等,我们可以拿过来用(导入模块去使用)

基本语法:

# 导入模块
import time

time.sleep(5)


# 导入模块并取别名
import time as t

t.sleep(5)


# 导入模块中的特定功能
from time import sleep

sleep(5)


# 导入模块中的全部功能
from time import *

sleep(5)


# 导入模块中的特定功能并取别名
from time import sleep as sl

sl(5)

ATT:导入不同模块的同名功能,后面的会覆盖前面的

main变量:

ATT:针对的是from……import的导入方式。

python黑马2020 python黑马全套教程_python黑马2020_14

 

python黑马2020 python黑马全套教程_java_15

发现结果直接输出了3

但如果在Calculate类的第三行中写入:if__name__=='__main__':

则可以解决这个问题。

all变量:

ATT:针对的是from……import的导入方式。

python黑马2020 python黑马全套教程_python黑马2020_16

python黑马2020 python黑马全套教程_python_17

自定义python包:

从物理上看,包就是一个文件夹,在该文件夹下包含了一个iit·py文件,该文件夹可用于包含多个模块文件

从逻辑上看,包的本质依然是模块。