这是昨天的第二篇,没有来得及发出来,下雨匆匆去见老师了
1、全局变量
def test1():
global a
a=400
print("---------test1---修改前-------a={}".format(a))
#修改全局变量,用global,申明引用的是全局变量,这样就可以对其进行修改
print("---------test1---修改后-------a={}".format(a))
def test2():
print("---------test2------a={}".format(a))
a=500
test2()
test1()
结果表明,test2中a为局部变量,主函数的a为全局变量
全局变量在函数中可以引用,但是不能被修改
在函数中出现变量名=数据,则意味着变量名为局部变量
如果要在函数中修改全局变量,则需要引用global来声明为全局变量
2、函数的几个例子
函数=函数名+函数体
def print_inf():
print('-----------------------')
print('人生苦短,我用Python')
print("-----------------------")
print_inf()
带参数的函数
计算正方体的体积
def get_volumn(x): #不需要标明参数的类型
print("体积是:"+str(x*x*x)) #连接只能是字符串
x=int(input("请输入边长:"))
get_volumn(x)
计算长方形面积,带多个参数,用逗号隔开
def get_volumns(x,y):
print("面积是:{}".format(x*y))
x=int(input("请输入长:"))
y=int(input("请输入宽:"))
get_volumns(x,y)
带返回值的函数
def get_volume(x):
return x*x*x
x=3
print(get_volume(x))
函数返回值有多个
def get_volume1(x):
#想要得到立方体体积,正方形的面积
return x*x*x,x*x
x=4
d,e=get_volume1(x) #用两个值来接收
print(d,e)
嵌套函数
def testB():
print("------------testB start-------------")
print("------------testB执行内容-----------")
print("------------testB end---------------")
def testA():
print("------------testA start-------------")
testB()
print("------------testA end---------------")
testA()
3、文件访问
r:只读模式(默认)
w:写入模式,有,则覆盖其内容,没有文件,则创造新的文件
a:打开一个文件,用于追加内容,有,则写在文章后面,无,则创建新的文件
rb:以二进制来打开只读
wb:以二进制来打开写入
ab:以二进制追加文件
#读取a.txt的文件
f=open('a.txt',encoding='utf-8')
content=f.read()
f.close()
print(type(content))
print(content)
f=open('b.txt','w') #写入操作
f.write('23we2四的')
f.close()
f=open('b.txt')
content2=f.read()
f.close()
print(content2)
上面使用了一个utf-8的解密,这是因为有些文本是按照utf-8的形式进行存储的,第二个是无编码进行存储的,因此不需要进行解密,在文本读取中,我们需要测试文件的读取方式,常用的是utf-8,gb18030,这些可以在网上进行查到。
因为文件编码有些容易出现问题,因此一般在写代码时,我们会在首行写上#coding:utf-8
4、模块的使用
这个是python库的基础,这里进行简单的模仿
首先写出一个python函数,保存为模块
#计算体积,在模块2中使用
def get_volume1(x):
return x*x*x
然后可以在模块2中进行使用
from 模块 import get_volume1 #从模块中引入get_volume1这个函数
x=5
x=get_volume1(x)
print(x)
模块就是库,里面含着各种函数,可以在“模块”中存写各种函数,以供其他文件使用
5、json
json一种数据交换的格式,以供解析
json格式:列表、字典
通过json可以实现json字符串和python数据类型的相互转换
json——>python,用json.loads()
python——>json,用json.dumps()
列表、字典<——>str,json主要用于网络信息传输
import json
t=json.dumps({'a':1,'b':2})
print(t)
print(type(t))
jsonobj=json.loads(t)
print(jsonobj)
print(type(jsonobj))