Python学习总结18:函数 参数篇
1. 判断函数是否可调用
>>> import math
>>> x = 1
>>> y = math.sqrt
>>> callable(x)
False
>>> callable(y)
True
注意 函数callable在Python 3.0中不再可用,需要使用表达式hasattr(func, __call)__代替。
2. 函数(或类)解释
1)函数注释,以"#"开头注释
2)文档字符串,如果在函数的开头写下字符串,它就会作为函数的一部分进行存储,这称为文档字符串。
def square(x):
'Calculates the square of the number x'
return x*x >>> square.__ doc__
'Calculates the square of the number x' >>> help(square)
Help on function square in module main: square(x)
Calculates the square of the number x.
3. 函数参数的传递方法
1)按函数参数顺序传递
def hello(greeting, name):
return "%s,%s"%(greeting, name)
>>> hello('Hello', 'World')
Hello, World
2) 使用关键字和默认值
def hello_1(greeting = 'Hello', name = 'World'):
print '%s, %s'%(greeting, name) >>>hello_1(name='Mei')
Hello, Mei
def hello_2(greeting, name = 'World'):
print '%s, %s'%(greeting, name) >>> hello_2('Hi')
Hi, World
3) 参数个数不定
def print_params(*params):
print params >>>print_ params('Testing')
('Testing',)
>>> print_params(1, 2, 3)
(1, 2, 3)
从上面的例子可以看出,打印的为元组。若与普通参数联合使用
def print_ params_2(title, *params):
print title
print params >>> print_params_2(’Params:’ 1, 2, 3)
Params:
(1, 2, 3)
>>> print_params_2(’Nothing:’ )
Nothing:
()
但是不能处理关键字
>>>print_params_ 2('Hmm...’,something=42)
Traceback (most recent call last):
File "<pyshell#60>",line 1, in?
print_params_ 2('Hmm...‘,something=42)
TypeError: print_params_2() got an unexpected keyword argument 'something'
4) 参数个数不定,且能处理关键字
def print_ params_3(**params):
print params >>> print_params_ 3(x=1, y=2, z=3)
{'z': 3, 'x': 1, 'y': 2}
返回的是字典
综上所有参数传递的方法,放在一起使用
def print_ params_4(x, y, z=3, *pospar, **keypar):
print x, y, z
print pospar
print keypar >>> print_params少(1, 2, 3, 5, 6, 7, foo=l, bar=2)
1 2 3
(5, 6, 7)
{foo:1, 'bar': 2}
>>> print_params_4(1, 2)
1 2 3
()
{}
Python学习总结18:函数 参数篇的更多相关文章
- Python学习6.1_函数参数及参数传递
大多数编程语言都绕不开一个名词,那就是--函数(function).而函数很重要的部分则是参数(arguments)的使用.Python的参数传递总体来说是根据位置,传递对应的参数.阐述如下: 1.位 ...
- python学习笔记:函数参数
1. 位置参数:一般的参数 2. 默认参数: def power(x, n=2): s = 1 while n > 0: n = n - 1 s = s * x return s 参数里有默认赋 ...
- Python学习手册之 Python 之禅、Python 编程规范和函数参数
在上一篇文章中,我们介绍了 Python 的正则表达式使用示例,现在我们介绍 Python 之禅. Python 编程规范和函数参数.查看上一篇文章请点击:https://www.cnblogs.co ...
- python学习之路网络编程篇(第四篇)
python学习之路网络编程篇(第四篇) 内容待补充
- Python学习之not,and,or篇
Python学习之not,and,or篇 运算符示意 not –表示取反运算. and –表示取与运算. or –表示取或运算. 运算符优先级 not > and > or. 举例如下: ...
- python学习道路(day4note)(函数,形参实参位置参数匿名参数,匿名函数,高阶函数,镶嵌函数)
1.函数 2种编程方法 关键词面向对象:华山派 --->> 类----->class面向过程:少林派 -->> 过程--->def 函数式编程:逍遥派 --> ...
- python学习笔记(3)--函数、参数、变量、递归
1.函数基本语法和特性 背景摘要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏出了所有的知识量吗,写出了以下代码 whi ...
- python学习之【第十篇】:Python中的内置函数
1.前言 内置函数,就是Python内部预先定义好的函数,可以直接使用,Python中内置函数有以下这么多个: 2.map() 描述: map() 会根据提供的函数对指定序列做映射.第一个参数 fun ...
- Python学习笔记7-把函数当参数传递、指定可变参数
把函数当参数传递 # 函数参数传递 # 面向对象编程就是把对象传来传去 # 面向函数编程就是把函数传来传去 def mytest(num): return num * 2 # # 不光可以传递变量,还 ...
随机推荐
- 【转】UML图中类之间的关系
原文:http://blog.csdn.net/hguisu/article/details/7609483 类与类图 1) 类(Class)封装了数据和行为,是面向对象的重要组成部分,它是具有相 ...
- scala 学习笔记
1.简洁 1.1.java的写法 class MyClass { private int index; private String name; public MyClass(int index, S ...
- wpf前端设计
http://www.cnblogs.com/w-wanglei/archive/2016/03/14/5274298.html#_nav_0
- C code 字符串与整数的相互转化
#include<stdio.h> int str_to_int(const char *str,int *num); void int_to_str(char str[],const i ...
- CSS动画控制器
<html> <head> <title>animation</title> <style> div{ width: 100px; heig ...
- jQuery 复选框全选反选
<script type="text/javascript"> $(function(){ //全选 $("#CheckedAll").click( ...
- LightOj1203 - Guarding Bananas(凸包求多边形中的最小角)
题目链接:http://lightoj.com/volume_showproblem.php?problem=1203 题意:给你一个点集,求凸包中最小的角:模板题,但是刚开始的时候模板带错了,错的我 ...
- android studio配置AndroidAnnotations
现在很多人都使用Android studio开发工具代替eclipse了,当然的 在eclipse使用的好的一些开发框架也会对应的在android studio上面使用. 参考文档:http://bl ...
- C#实现二叉查找树
简介 树是一种非线性结构.树的本质是将一些节点由边连接起来,形成层级的结构.而二叉树是一种特殊的树,使得树每个子节点必须小于等于2.而二叉查找树又是一类特殊的二叉树.使得每一个节点的左节点或左子树的所 ...
- Java之Ajax技术
ajax(asynchronouse javascript and xml) 异步的javascript 和 xml(现在常把xml换成json): ajax是2005年提出的,在2006,2007年 ...