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 titleprint 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, zprint posparprint 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
()
{}

转载于:https://www.cnblogs.com/zhuxiaohou110908/p/5752809.html

Python学习总结18:函数 参数篇相关推荐

  1. Python学习笔记:函数(Function)

    Python学习笔记:函数(Function) 一.函数基本概念 函数是Python里组织与重用代码最重要的方法.一般来说,如果你期望多次重复相同或相似的代码,写一个可重用的函数可能是值得的.函数通过 ...

  2. Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复)

    Python学习笔记18:实操案例十五(记录用户登录日志,模拟淘宝客服自动回复) 网课传送门:https://www.bilibili.com/video/BV1Sw411Z779?p=168& ...

  3. Python学习笔记12_函数

    Python学习笔记12_函数 文章目录 Python学习笔记12_函数 1.函数定义 2.函数调用 3.函数的参数 3.1.可更改对象和不可更改对象参数 3.2.必需参数(位置参数) 3.3.关键字 ...

  4. Python学习之zip函数

    Python 学习之 zip 函数 问题的引出 有时候,你可能想同时迭代两个序列.假设有下面两个列表: names = ['anne', 'beth', 'george', 'damon'] ages ...

  5. python函数参数学习_python学习笔记-11.函数参数和返回值进阶

    1. 函数参数和返回值的作用 函数根据有没有参数以及有没有返回值,可以相互组合,共有4种形式: 无参数,无返回值 无参数,有返回值 有参数,无返回值 有参数,有返回值 定义函数时,是否接收参数,或者是 ...

  6. Python学习:定义函数的默认参数和可变参数

    一.默认参数 定义函数的时候,还可以有默认参数. 例如Python自带的 int() 函数,其实就有两个参数,我们既可以传一个参数,又可以传两个参数: >>> int('123') ...

  7. 潭州教育学python_潭州教育-Python学习笔记6@函数基础,必备参数,位置参数,可选参数...

    6.1 函数定义: def BiJiao(a,b): #驼峰规则(首字母大写),见名知意-函数名大写 if a>b: print(a) elif a==b : print('xiangdeng' ...

  8. Python学习笔记:函数

    前言 最近在学习深度学习,已经跑出了几个模型,但Pyhton的基础不够扎实,因此,开始补习Python了,大家都推荐廖雪峰的课程,因此,开始了学习,但光学有没有用,还要和大家讨论一下,因此,写下这些帖 ...

  9. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法

    0.摘要 我们将一个list传入函数后,函数内部对实参修改后,形参也会随之改变.本文将主要介绍这种错误的现象.原因和解决方法. 1.代码示例 def fun(inner_lst): inner_lst ...

最新文章

  1. java 多级级联菜单回显_详解element-ui级联菜单(城市三级联动菜单)和回显问题...
  2. 机器学习:多分类的logistic回归
  3. docker 安装redis第三方集群方案 codis
  4. WinSxS文件夹瘦身
  5. HangFire循环作业中作业因执行时间太长未完成新作业开启导致重复数据的问题...
  6. 一文说尽C++赋值运算符重载函数(operator=)
  7. java调用shell脚本及注意事项
  8. LeetCode-321 Create Maximum Number
  9. python获取股票历史数据_量化交易之如何获取股票历史数据并存为csv
  10. [原创]完美开启Win8中管理员Administrator帐户
  11. mysql exporter怎么配置_prometheus mysqld_exporter监控mysql-5.7
  12. Linux中缺32位运行库steam,Steam游戏必备运行库
  13. Java8 Lambda表达式的特快处理流Stream快速入门
  14. 作为一个程序员对特修斯之船的理解
  15. 车厢调度(信息学奥赛一本通 - T1357)
  16. 规范小区电瓶车充电桩的分布保障充电安全
  17. android系统怎么取消,安卓系统hd怎么关闭
  18. 异常值识别和缺失值处理
  19. 中国氯吡脲市场运营分析及项目投资策略建议报告2022-2028年版
  20. 小米手机解锁BL以及获取Root权限(开发版)

热门文章

  1. 解决canvas画图模糊的问题
  2. Node.js 的http.serverRequest 或http.IncomingMessage
  3. Spring Security 基本介绍,初窥路径
  4. 当 JS 工程师遇到了 TypeScript 会发生什么?
  5. oracle游标遍历的三种方式
  6. 单片机小精灵t2_51单片机定时器T2初始化设置
  7. 事物的开始和结束命令分别是什么_AutoCAD小秘密065:LOFT命令,创建天圆地方
  8. 飚王硬盘盒怎么样_ORICO M.2固态移动硬盘盒众测分享:移动存储也高速
  9. java四则运算器算法_java写的四则运算器
  10. vscode智能提示css的插件_Visual Studio Code 必备插件,主题及语法提示