python编程即可以面向对象( 类:class),也可以面向过程(过程:def),也可以做函数式编程(函数:def),其中函数是有返回值而过程没有返回值(返回none)。
一、函数定义用途
函数是逻辑化和结构化的一种编程方法,它将一组语句用函数名包裹起来,通过调用函数名来执行函数里的具体语句。
1.减少重复代码
2.使程序变得容易扩展
二、函数语法
1.基本定义语法
def function_name(x,y):
"""function descriptioni"""
function_body
return x
函数定义包含:定义关键字def ,函数名function_name,函数参数x,y,函数描述,函数体,以及函数返回值
三、函数示例
1.无参数的函数
##function_01是定义的函数,返回值是0
##function_02是定义的过程,无返回值(或者说返回值是none)
2.有参数的函数
3.接收多个参数的函数(参数组)
返回结果如下:
(1, 2, 'abc')
{'x': 1, 'y': 2, 'name': 'abc'}
##全局变量和局部变量,其中局部变量如果是字典、列表是可以从局部修改影响全局变量值,而字符串、数字的局部变量不会影响全局变量结果。
一、函数定义用途
函数是逻辑化和结构化的一种编程方法,它将一组语句用函数名包裹起来,通过调用函数名来执行函数里的具体语句。
1.减少重复代码
2.使程序变得容易扩展
- #!/usr/bin/env python
- # -*- UTF-8 -*-
- # Author:Jerry
-
- import time
-
- def logger():
- time_format="%Y-%m-%d %X"
- time_current=time.strftime(time_format)
- with open("writefile","a+",encoding="utf-8") as f:
- f.write("%s Start write logfile:\n" %time_current)
-
- def test1():
- print("Test 1 file")
- logger()
- def test2():
- print("Test 2 file")
- logger()
-
- test1()
- test2()
1.基本定义语法
def function_name(x,y):
"""function descriptioni"""
function_body
return x
函数定义包含:定义关键字def ,函数名function_name,函数参数x,y,函数描述,函数体,以及函数返回值
三、函数示例
1.无参数的函数
##function_01是定义的函数,返回值是0
##function_02是定义的过程,无返回值(或者说返回值是none)
- #!/usr/bin/env python
- # -*- UTF-8 -*-
- # Author:ChengZhen
-
- def function_01():
- "测试函数01"
- print("测试函数01")
- return 0
-
- def function_02():
- "测试函数02"
- print("测试函数02")
-
-
x=function_01() y=function_02()
-
print(x)
-
print(y)
-
- #位置参数,形参和实参一一对应
- def test1(x,y):
- print("Test 1 file:%s %s" %(x,y))
- test1(1,2)
-
- #关键字参数,关键字参数一定要放在位置参数后面
- def test2(x,y):
- print("Test 2 file:%s %s" %(x,y))
- test2(3,y=2)
-
- #默认参数,如果有传入实参则按照实际传入参数赋值,如果没有传入实参,则按默认参数值传入
- def test2(x,y=5):
- print("Test 2 file:%s %s" %(x,y))
- test2(3,2)
- #通过*args定义一个形参变量组,其可接收多个位置参数值,其中args变量名可以任意名,以一个元组形式输出
- def test1(*args):
- print(args)
- test1(1,2,"abc")
-
- #通过**kwargs定义一个形参变量组,其可接收多个关键字参数值,其中args变量名可以任意名,以一个字典形式输出
-
- def test2(**kwargs):
- print(kwargs)
- test2(x=1,y=2,name="abc")
(1, 2, 'abc')
{'x': 1, 'y': 2, 'name': 'abc'}
##全局变量和局部变量,其中局部变量如果是字典、列表是可以从局部修改影响全局变量值,而字符串、数字的局部变量不会影响全局变量结果。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27067062/viewspace-2142438/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/27067062/viewspace-2142438/