1 .1参数位置顺序
案例:def sun(a,*args,b=22,**kwargs):
print("a:",a)
print("args:",args)
print("b:",b)
print("kwargs:",kwargs)
sun(100,200,300,b=2,m=3,n=4)
1.2函数返回值
def sum(a,b): returna+bresult=sum(1,2)
#保存函数的返回值 print(result)
1.3 返回多个数据
def divid(a,b): shang=a//b #取模 yushu=a%b #取余 returnshang,yushu #默认是元组 result=divid(5,2) print(result) # 输出(2, 1)
1.4函数的嵌套
def testb(): print("testb start") print("testb testb 执行") print("testb end") def testa(): print("testa start") testb() print("testa end")
1.5匿名函数
g = lambda x :x + 1 print(g(1))
1.6局部变量
def test1(): a=120print("我是局部变量a:",a) a=240 print("修改之后的局部变量a:",a) def test2(): a=360 print("我是test02函数中的局部变量a",a) test1() test2()
1.7全局变量
a=100 def test1(): print(a) # 虽然没有定义变量a但是依然可以获取其数据 deftest2(): print(a) # 虽然没有定义变量a但是依然可以获取其数据 # 调用函数 test1() test2()
1.8全局变量的修改
a=100 #全局变量 def test1(): globala #将a变成全局变量a=300 print("修改后的a",a) def test2(): print(a) # 调用函数test1() test2()
1.9文件的打开与关闭
在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件open(文件名,访问模式)
格式f=open(‘文件’,'w')或者f=open('文件','r')
写数据(write)
对象=open("文件",w) 对象.write("写入数据") 对象.close
读数据(read)
对象 = open("文件",r) 变量 = 对象.read() print(变量)
读数据(readlines)
对象=open("文件",r) 变量=对象.readlines() print(变量)
读数据(readline)
对象=open("文件",r) 变量=对象.readline() print(变量)
可写(a)
对象=open("",a) 对象.write("写入数据") 对象.close
读数据(rb)
对象 = open("二进制文件",rb) 变量= 对象.read() print(变量)
写数据(wb)
with open("二进制文件","wb") as 对象: 变量=对象.write() print(变量)
关闭文件
close()
1.10文件和文件夹的操作
文件重命名
import os os.rename("需要修改的文件名","新文件名")
删除文件
import os os.remove("文件名")
1.11文件夹的相关操作
创建文件夹
os模块中的mkdir()可以完成对文件的重命名操作
获取当前目录
1.12异常处理
语法
try: <语句> #运行别的代码
except <名字>:
<语句> #如果在try部份引发了'name'异常
else: <语句> #如果没有异常发生
使用except而不带任何异常类型
try: 正常的操作
except: 发生异常,执行这块代码
else: 如果没有异常执行这块代码
使用except而带多种异常类型
try: 异常的操作
except(Exception1[,Exception2[,...ExceptionN]]]):
发生以上多个异常中的一个,执行这块代码......................
else: 如果没有异常执行这块代码
try-finally 语句
try: <语句> finally: <语句> #退出try时总会执行
触发异常
可以使用raise语句自己触发异常
模块
Python 模块(Module),是一个Python文件,以.py 结尾,包含了Python 对象定义和Python语句
模块的引入
import
import module1[,module2[,...moduleN]]
from…import 语句
from modname import name1[,name2[,...nameN]]
from…import * 语句
from aa import * test1()test2() #我是模块1#我是模块2
Python中的包
源代码如下:
day/runoob1.py
def runoob1(): print "I'm in runoob1"
day/runoob2.py
def runoob2(): print "I'm in runoob2"
然后我们在 day同级目录下创建 test.py 来调用 day 包
# 导入 Phone 包
from day.runoob1 import runoob1
from day.runoob2 import runoob2
runoob1()
runoob2()
结果
I'm in runoob1
I'm in runoob2