python学习二

75 阅读2分钟

函数进阶

# 函数多返回值
def nums() :
    return 1,2,3
x,y,z = nums()

# 位置传递
def sum(*args) :
    return args 
result = sum(1,2,3)
print(result) # (1,2,3)
# 关键字传递
def sum(**kwargs) :
    return kwargs 
result = sum(name='tom',age=18)
print(result) # {'name': 'tom', 'age': 18}
# 函数传递
def sum_fun(fun) :
    print(fun(1, 6))
def compute(x, y) :
    return x + y
sum_fun(compute)

文件操作

# mode常用的三种基础访问模式:
r # 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
w # 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,原有内容会被删除。如果该文件不存在,创建新文件。
a # 打开一个文件用于追加。如果该文件已存在,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。

# 打开文件获得文件对象
文件对象 = open(file, mode, encoding)
# 读取指定长度字节不指定num读取文件全部
文件对象.read(num)
# 读取一行
文件对象.readline()
# 读取全部行,得到列表
文件对象.readlines()
# for循环文件行,一次循环得到一行数据
for line in 文件对象
# 关闭文件对象
文件对象.close()
# 通过with open语法打开文件,可以自动关闭
with open() as f
# 1. 打开文件
f = open('python','w')
# 2. 文件写入
f.write('hello world')
# 3. 内容刷新
f.flush()
# 直接调用write,内容并未真正写入文件,而是会积攒在程序的内存中,称之为缓冲区
# 当调用flush的时候,内容会真正写入文件
# 这样做会频繁的操作硬盘,导致效率下降

python异常

image.png

异常的种类多种多样,如果想要不管什么类型的异常都能捕获到,那么使用:except Exception as e:

python模块引用

image.png

模块(Module),是一个 Python 文件,以 .py 结尾. 模块能定义函数,类和变量,模块里也能包含可执行的代码

  • import 模块名
  • from 模块名 import 类、变量、方法等
  • from 模块名 import *
  • import 模块名 as 别名
  • from 模块名 import 功能名 as 别名

自定义模块

每个Python文件都可以作为一个模块,模块的名字就是文件的名字

image.png

如果一个模块文件中有**_ _all_ _**变量,当使用from xxx import *导入时,只能导入这个列表中的元素

image.png

python包

包就是一个文件夹,在该文件夹下自动创建了一个  _ init _.py 文件,该文件夹可用于包含多个模块文件 从逻辑上看,包的本质依然是模块

image.png

导入包

1.  import 包名.模块名 调用:  包名.模块名.目标

2.  from 包名 import * 必须在__init__.py文件中添加__all__ = [],控制允许导入的模块列表