函数参数

1.位置参数

类似于java函数的基本参数,按照顺序和结构定义参数

2.默认参数

def method(param,defaultParam=defaultValue)

调用时,可以调用method(param)或者method(param,param),当调用时不传defaultParam时,函数使用默认参数进行计算。

定义默认参数要注意:

(1)必选参数在前,默认参数在后

(2)设置时:变化大的参数在前,变化小的参数在后,变化小的参数可以使用默认参数

(3)定义默认参数必须指向不可变对象

使用默认参数能降低调用函数的难度,而且在调用时,如果存在多个默认参数,可以不按顺序提供默认参数,但必须把参数名写上

3.可变参数

def method(param,*params)

params必须是一个list或者tuple,

调用时可以先定义list或tuple,然后在list或tuple变量名前加*,类似:list=[1,2,3],method(*list)

4.关键字参数

def method(param,**kw)

关键字参数允许传入0个或者任意个数含参数名的参数,这些参数在函数内部自动组装成一个dict

同可变参数,调用时可以先定义一个dict,然后调用dict={'key','vaule'},method(**dict)

5.命名关键字参数(最难的一点)

定义逻辑: def method(param,*,name) *后面的参数被视为命名关键字参数,如果函数定义中已经有了一个可变参数,则定义模式:def method(param,*params,name),不再需要分隔符*

调用方式:命名关键字必须传入参数名;

               命名关键字参数有default 值,则可不传入参数

6.参数组合

定义函数,可以使用上诉5种参数组合使用,但是参数顺序为,位置参数,默认参数,可变参数,命名关键字参数,关键字参数,但实际上不推荐这样使用,降低了代码的可读性

 

python学习笔记--关于函数的那点事1的更多相关文章

  1. Python学习笔记之函数

    这篇文章介绍有关 Python 函数中一些常被大家忽略的知识点,帮助大家更全面的掌握 Python 中函数的使用技巧 1.函数文档 给函数添加注释,可以在 def 语句后面添加独立字符串,这样的注释被 ...

  2. 小甲鱼:Python学习笔记003_函数

    >>> # 函数>>> def myFirstFunction(params1,params2...): print("这是我的第一个函数!") ...

  3. Python学习笔记 - day6 - 函数

    函数 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多次执行(这叫函数的调用).函数在编程语言中有基本分为:预 ...

  4. Python学习笔记系列——函数

    今年下半年的计划主要是Python和Mysql了,公司不方便看书和视频,就照着廖雪峰的Python网站开始看了.以下纯为个人笔记记录,若是想系统学习的小伙伴还是看这里的好一些,毕竟系统.https:/ ...

  5. Python学习笔记(五)函数和代码复用

    函数能提高应用的模块性,和代码的重复利用率.在很多高级语言中,都可以使用函数实现多种功能.在之前的学习中,相信你已经知道Python提供了许多内建函数,比如print().同样,你也可以自己创建函数, ...

  6. python学习笔记(4)--函数

    1.函数 函数是指将一组语句的集合通过一个名字封装起来.要想执行这个函数,只需调用其函数名即可. 函数的特性: 1.减少重复代码 2.使程序变的课扩展 3.使程序变得易维护 语法定义: def pri ...

  7. Python学习笔记-Day3-python函数

    1.为什么要用函数? 提高代码重复利用率,减少代码冗余.封装模块化代码,便于调用 2.函数声明定义(注意:函数先声明后调用) 注意:函数的reture循环中的exit功能一样(函数不执行,终止) 函数 ...

  8. Python学习笔记11—函数

    建立第一个函数 /usr/bin/env Python #coding:utf-8 def add_function(a,b): c = a+b print c if __name__==" ...

  9. Python学习笔记7-把函数当参数传递、指定可变参数

    把函数当参数传递 # 函数参数传递 # 面向对象编程就是把对象传来传去 # 面向函数编程就是把函数传来传去 def mytest(num): return num * 2 # # 不光可以传递变量,还 ...

随机推荐

  1. 【Android 开发实例】时间管理APP开发之数据库设计

    当然也能够先写界面什么的.可是,总认为先把数据库后台写好在写界面比較放心. 对于数据库的设计,我一開始没什么概念.甚至不知道怎样下手,一開始想着设计成几个表?有哪些字段? 最后用了两天时间,还是一无所 ...

  2. Android实现一个自己定义相机的界面

    我们先实现拍照button的圆形效果哈.Android开发中,当然能够找美工人员设计图片,然后直接拿进来.只是我们能够自己写代码实现这个效果哈.最经常使用的的是用layout-list实现图片的叠加, ...

  3. LeetCode 690. Employee Importance (职员的重要值)

    You are given a data structure of employee information, which includes the employee's unique id, his ...

  4. ROS人脸检测 使用webcam实现

    github地址https://github.com/ngunauj/facedetection 熟悉ros环境.ubuntu16.04 + ros kinetic版本.使用笔记本自带摄像头,完成人脸 ...

  5. XAML实例教程系列 - 开篇(一)

    XAML实例教程系列 - 开篇 2012-05-14 11:47 by jv9, 5588 阅读, 8 评论, 收藏, 编辑 去年,曾答应银光中国论坛的朋友推出一个关于XAML语言实例教程系列,帮助学 ...

  6. codeforces educational round 25

    A 出题人不给样例解释...具体程序 #include<bits/stdc++.h> using namespace std; int n; ]; int main() { scanf() ...

  7. docker部署gitlab服务

    docker run -d -p : -p : -p : \ --name gitlab --restart always \ --volume /home/xxx/dockerData/gitlab ...

  8. akka设计模式系列-actor锚定

    actor锚定模式是指使用actorSelection对acor进行锚定的设计模式,也可以说是一个对actor的引用技巧.在某些情况下,我们可能需要能够根据Actor的path锚定对应的实例.简单来说 ...

  9. ACM_三元一次函数解法(克莱姆法则)

    三元一次函数 Time Limit: 2000/1000ms (Java/Others) Problem Description: 计算三元一次函数..如图 Input: EOF,先输入n,表示样例个 ...

  10. Swift自适应布局(Adaptive Layout)教程

    通用的Storyboard 通用的stroyboard文件是通向自适应布局光明大道的第一步.在一个storyboard文件中适配iPad和iPhone的布局在iOS8中已不再是梦想.我们不必再为不同尺 ...