Python学习笔记七:函数

1. 定义一个函数

  • 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。参数值和参数名称是按函数声明中定义的的顺序匹配起来的。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号起始,并且缩进。
  • Return[expression]结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
1 def functionname( parameters ):
2    "函数_文档字符串"
3    function_suite
4    return [expression]

2. 函数调用

 1 #coding=utf-8
 2 #!/usr/bin/python
 3
 4 # Function definition is here
 5 def printme( str ):
 6    "打印任何传入的字符串"
 7    print str;
 8    return;
 9
10 # Now you can call printme function
11 printme("我要调用用户自定义函数!");
12 printme("再次调用同一函数");

3. 参数

按值传递和按引用传递参数

所有参数(自变量)在Python里都是按引用传递。如果你在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。

 1 #coding=utf-8
 2 #!/usr/bin/python
 3
 4 # 可写函数说明
 5 def changeme( mylist ):
 6    "修改传入的列表"
 7    mylist.append([1,2,3,4]);
 8    print "函数内取值: ", mylist
 9    return
10
11 # 调用changeme函数
12 mylist = [10,20,30];
13 changeme( mylist );
14 print "函数外取值: ", mylist

Python解释器能够用参数名匹配参数值,命名参数顺序不重要

 1 #coding=utf-8
 2 #!/usr/bin/python
 3
 4 #可写函数说明
 5 def printinfo( name, age ):
 6    "打印任何传入的字符串"
 7    print "Name: ", name;
 8    print "Age ", age;
 9    return;
10
11 #调用printinfo函数
12 printinfo( age=50, name="miki" );

不定长参数,你可能需要一个函数能处理比当初声明时更多的参数。这些参数叫做不定长参数。加了星号(*)的变量名会存放所有未命名的变量参数,选择不多传参数也可。

 1 #coding=utf-8
 2 #!/usr/bin/python
 3
 4 # 可写函数说明
 5 def printinfo( arg1, *vartuple ):
 6    "打印任何传入的参数"
 7    print "输出: "
 8    print arg1
 9    for var in vartuple:
10       print var
11    return;
12
13 # 调用printinfo 函数
14 printinfo( 10 );
15 printinfo( 70, 60, 50 );
16
17 >
18 输出:
19 10
20 输出:
21 70
22 60
23 50

匿名函数,lambda函数只能写一行,

  • 匿名函数不能直接调用print,因为lambda需要一个表达式。
  • Lambda函数能接收任何数量的参数但只能返回一个表达式的值
1 #coding=utf-8
2 #!/usr/bin/python
3
4 #可写函数说明
5 sum = lambda arg1, arg2: arg1 + arg2;
6
7 #调用sum函数
8 print "Value of total : ", sum( 10, 20 )
9 print "Value of total : ", sum( 20, 20 )

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域

 1 #coding=utf-8
 2 #!/usr/bin/python
 3
 4 total = 0; # This is global variable.
 5 # 可写函数说明
 6 def sum( arg1, arg2 ):
 7    #返回2个参数的和."
 8    total = arg1 + arg2; # total在这里是局部变量.
 9    print "Inside the function local total : ", total
10    return total;
11
12 #调用sum函数
13 sum( 10, 20 );
14 print "Outside the function global total : ", total >30,30
时间: 2024-10-19 07:44:44

Python学习笔记七:函数的相关文章

python学习笔记七:条件&循环语句

1.print/import更多信息 print打印多个表达式,使用逗号隔开 >>> print 'Age:',42 Age: 42   #注意个结果之间有一个空格符 import:从模块导入函数 import 模块 from 模块 import 函数 from 模块 import * 如果两个模块都有open函数的时候, 1)使用下面方法使用: module1.open()... module2.open()... 2)语句末尾增加as子句 >>> import ma

python学习笔记之函数总结--高阶函数以及装饰器

python学习笔记之函数总结--高阶函数以及装饰器 Python特点: 1.不是纯函数式编程(允许变量存在): 2.支持高阶函数(可以传入函数作为变量): 3.支持闭包(可以返回函数): 4.有限度的支持匿名函数: 高阶函数: 1.变量可以指向函数: 2.函数的参数可以接收变量: 3.一个函数可以接收另一个函数作为参数: 下面我将示例一些函数的写法以及使用,并说明python中函数的特性: 1.基本的高阶函数示例: #!/usr/bin/env python def func():      

Python学习笔记003_函数

>>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") print("Python你好吗?") >>> #调用函数>>> >>> myFirstFunction()这是我的第一个函数!Python你好吗? >>>  # 函数的返回值  return #函数文档, 就是函数

Python学习笔记6-python函数补充、装饰器、模块

本文主要学习内容有 函数知识的补充 装饰器(无参.有参.非固定参数.有返回值) 函数知识的补充 稍后待续...

Python学习笔记:函数

Python函数 先来看下面代码: def welcome_info(): "显示欢迎信息" print("Hello World!") return 0 如上代码,就定义了一个函数. 调用后的结果为: welcome_info() #调用函数 Hello World! #调用结果 这里,我们引用一下Python官方文档对Python函数的定义: The keyword def introduces a function definition. It must be

python学习笔记(四):函数

一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可. 二.使用函数的好处: 1.简化代码2.提高代码的复用性3.代码可扩展 三.p

python学习笔记(七) - 面向对象高级编程

一. 为类动态添加属性和方法: 1. 动态给一个实例添加属性和方法: 给一个实例绑定的方法,对另一个实例是不起作用的. class Student(object): pass s = Student() s.name = 'Michael' # 动态给实例绑定一个属性 print s.name def set_age(self, age): # 定义一个函数作为实例方法 self.age = age from types import MethodType s.set_age = MethodT

python学习笔记(二) - 函数

一. 调用函数 python内置了一些数据类型转换函数,比如int()函数可以把其他数据类型转换为整形 >>> int('123') 123 >>> int(12.34) 12 >>> float('12.34') 12.34 >>> str(1.23) '1.23' >>> unicode(100) u'100' >>> bool(1) True >>> bool('') Fal

Python学习笔记七-错误和异常

程序员总是和各种错误打交道,学习如何识别并正确的处理程序错误是很有必要的. 7.1错误和异常 1.错误 从软件方面来看,错误分为语法错误和逻辑错误两种.这两种错误都将导致程序无法正常进行下去,当Python检测到一个错误时就出现了异常. 2.异常 当编译器检测到错误并且意识到错误条件.解释器会引发一个异常(程序员也可以自己引发一个异常,后面会说到). 以下是7种Python中常见的错误. 1.NameError,尝试访问一个未申明的例子. 2.ZeroDivisionError,零除错误. 3.