#!/usr/bin/env python
# -*- coding:utf-8 -*-
#函数
#函数式编程
'''
面向对象 类 class
面向过程 过程 def
函数式编程 函数 def
'''
#函数
def test1(x): #定义函数
"函数1描述" #函数描述
x+=1 #执行
return x #返回值
def test2():
"函数2描述"
print('函数2')
return 0 #返回=0是None 值object 多个值(元组)
print('函数1 ',test1(5))
a=test2()
print('函数2= %s'%a)
###########
print('+-+-+-+-+-+-+-+-+-+-+-+')
import time #导入时间模块
def a():
with open('3-4.txt','a+') as f:
time='%Y-%m-d% %X' #时间格式 年月日 时分秒
# time1=time.strftime(time) #引用上面时间格式显示
f.write('%s end hello
' %time) #追加,用于日志
def a1():
"说明"
print('函数1')
a()
def a2():
"说明"
print('函数2')
a()
a1()
a2()
#参数 位置参数,关键参数
def a(x,y): #两个参数 形参数
print(x,y)
a(1,2) #调用 实参数 a(x=1,y=2) 一一对应
#默认参数
def a(x,y=2): #如果Y无参数,则Y=2
print(x,y)
a(1,3) #显示1和3
#接收多个参数
def a(*x): #*接收参数不固定 接收多个参数
print(x)
a(1,2,3)
def a(**x): #接收字典 a(*a,**c)
print(x)
a(name='xx',age=99)
#局部变量
def a(x): # x是在def里面是2
print(x)
x=2
print(x)
x=2
a(x)
print(x)
#全局变量 在顶层定义的变量 在def里可以调用全局变量
x=1
def a(x):
print(x);x=9;print(x)
a(x)
print('#局部变量变成全局变量 global 变量名 用的少#局部禁改全局变量')
y=1
def a(x):
global y;print(y);y=9;print(y)
a(x);print(y)
#列表,集合,字典,类 局部能改
#字符串,整数 局部不能改
#程序开始定义的变量 全局变量
#子程序中定义的变量 局部变量