使用函数是真正开始编程的第一步,函数y=f(x)我们并不陌生,对x进行一顿操作得到一个值y。给不同的x,进行相同的操作,得到相应的y值。

程序层面函数是执行特定任务的一段代码,将一段代码定义成函数并为该函数指定一个函数名,之后就可以用名称来“调用”这个函数。

前面我们己经用过一些函数,如len()、id()等。这些是python生来就有的函数称为内置函数。

除了python的内置函数,我们在编程中还可以自定义函数,在编程中我们大量使用的还是自定义函数,先看一个入门案例:

# -*- coding: utf-8 -*-

# 定义一个函数,能够完成打印一句话

def printInfo():

print('人生苦短,我用Python')

printInfo()

printInfo()

printInfo()

D:python3installpython.exe D:/python/py3script/python66.py

人生苦短,我用Python

人生苦短,我用Python

人生苦短,我用Python

Process finished with exit code 0

定义函数和调用(定义了函数直接写函数名就是调用):

使用def语句定义一个函数,def语句后面跟着函数的名称,然后是一对小括号,括号里面可以填写函数需要的参数,最后是冒号结束,然后下一行缩进开始写函数体的内容。完整的函数写法如下:

def 函数名(形参):

代码块

return 返回值

1.声明函数必须使用def关键字。

2.函数名:从语法角度来看,函数名是一个合法的标识符即可(变量的命名规范一样);从可读性角度来看,函数名应该由一个或多个有意义的单词组合而成,

3.形参:用于定义该函数可以接收的参数,函数可以有参数也可以无参数。

1)形参可以有多个,多个形参以英文逗号(,)隔开。

2)定义函数时指定了形参,调用该函数时就必须传入对应的参数值(或者说给对应的形参赋值)

3)形参和函数外界无任何关系,函数内部通过形参名字使用形参,调用函数时给形参传值,此时这个值叫实参。

# -*- coding: utf-8 -*-

def sum(num1, num2,):

print('两数的和是')

print(num1 + num2 )

sum(1,10) #调用函数

D:python3installpython.exe D:/python/py3script/python66.py

两数的和是

11

Process finished with exit code 0

4.函数的参数默认值

1)在定义函数的时候参数可以给定默认值,有默认值的参数必放在没有默认值参数列表的后面。

2)如果参数有默认值,在函数调用的时候可以不填,不填就使用默认的值。

2)如果参数有默认值,在函数调用的时候也可以重新赋值。

# -*- coding: utf-8 -*-

def sum(start, end, step=1):

num_list = range(start, end, step)

print(num_list,len(num_list))

total = 0

for i in num_list:

total += i

if step == 1:

print("从%d加到%d是%d" % (start, end-1, total))

elif step == 2:

print("从%d到%d奇数相加是%d" % (start, end - 1, total))

sum(1,10)

sum(1,10,step=2)

D:python3installpython.exe D:/python/py3script/python66.py

range(1, 10) 9

从1加到9是45

range(1, 10, 2) 5

从1到9奇数相加是25

Process finished with exit code 0

5.函数位置参数与关键字参数

1)不通过参数名字而是直接在对应位置传入参数值被称为位置参数。

2)使用位置参数的方式来传入参数值(给形参赋值),必须按照定义函数时指定的形参顺序来传入。

3)根据参数名来传入参数值被称为关键字(keyword)参数。

4)使用关键字参数的方式来传入值(给形参赋值),则无须关注定义的形参顺序。

# -*- coding: utf-8 -*-

# 定义一个函数

def star_people(body , girl):

print("body: ", body)

print("girl: ", girl)

return body,girl

# 根据位置传入参数

star_people('刘恺威', '赵丽颖')

# 根据关键字参数来传入参数

star_people(body = '刘恺威', girl = '赵丽颖')

# 使用关键字参数时可交换位置

star_people(girl = '赵丽颖', body = '刘恺威')

# 部分使用关键字参数,部分使用位置参数

star_people('刘恺威',girl ='赵丽颖')

D:python3installpython.exe D:/python/py3script/python66.py

body: 刘恺威

girl: 赵丽颖

body: 刘恺威

girl: 赵丽颖

body: 刘恺威

girl: 赵丽颖

body: 刘恺威

girl: 赵丽颖

Process finished with exit code 0

6.return返回值

想要在函数中把结果返回,需要在函数中使用return,return语句可以返回所有的数据类型,可以返回一个或多个值。如果没有写return语句,函数的默认返回值是None。

# -*- coding: utf-8 -*-

def sum(num1, num2,):

# 用res变量保存两数之和

res = num1 + num2

# return

return res

# 必须用变量接受return返回的值

result = sum(1,10)

print(result)

def add(num1, num2,):

# 用res变量保存两数之和 但是没有return

res = num1 + num2

result = add(1,10)

print(result)

def do(num1, num2,):

# 用res1变量保存两数之和 但是没有return

res1 = num1 + num2

# 用res2变量保存两数之差 但是没有return

res2 = num1 - num2

return res1,res2

result1,result2 = do(1,10)

print(result1,result2)

D:python3installpython.exe D:/python/py3script/python66.py

11

None

11 -9

Process finished with exit code 0

7.函数根据有没有参数,有没有返回值,可以相互组合,一共有4种

无参数,无返回值

无参数,有返回值

有参数,无返回值

有参数,有返回值

python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值相关推荐

  1. python函数调用语句_Python函数定义和函数调用

    原标题:Python函数定义和函数调用 我们已经使用了一些python内建函数,比如print().input().str()等等. 也使用了一些python自带模块的一些库函数,比如math模块的a ...

  2. 简述python函数调用过程_python函数定义和调用过程详解

    我们可以创建一个函数来列出费氏数列 >>> def fib(n): # write Fibonacci series up to n ... """Pr ...

  3. 【python教程入门学习】Python函数定义及传参方式详解(4种)

    这篇文章主要介绍了Python函数定义及传参方式详解(4种),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 一.函数初识 1.定 ...

  4. python函数调用位置_Python: 浅谈函数局部变量快在哪

    前言 这两天在 CodeReview 时,看到这样的代码 # 伪代码 import somelib class A(object): def load_project(self): self.proj ...

  5. Java执行JavaScript代码:传参、获取变量、返回值、JSON对象

    脚本包 Java 脚本功能是在 javax.script 包中.这是一个比较小的,简单的API.脚本的出发点是 ScriptEngineManager 类,ScriptEngineManager是一个 ...

  6. python 函数的调用的时候参数的传递_python定义函数时的参数调用函数时的传参...

    一.定义函数: 1.位置参数:直接定义参数 2.默认参数(或者关键字参数):参数名 = "默认值" 3.位置参数必须在默认参数之前 二.调用函数: 1.按位置传,直接写参数的值 2 ...

  7. python 函数的定义与调用_Python函数定义和函数调用

    我们已经使用了一些python内建函数,比如print().input().str()等等. 也使用了一些python自带模块的一些库函数,比如math模块的abs()函数. 函数定义: 语法:def ...

  8. python函数参数定义顺序_Python函数定义-位置参数-返回值

    原标题:Python函数定义-位置参数-返回值 1 函数介绍 函数在编程语言中就是完成特定功能的一个词句组(代码块),这组语句可以作为一个单位使用,并且给它取一个名字.可以通过函数名在程序的不同地方多 ...

  9. python函数参数定义_python函数定义中的5种参数

    python函数参数定义 Python函数定义中的5种参数类型: (5 Types of Arguments in Python Function Definition:) default argum ...

最新文章

  1. 云HBase发布全文索引服务,轻松应对复杂查询
  2. 一款jQuery实现重力弹动模拟效果特效,弹弹弹,弹走IE6
  3. directive多指令之间的异步调用
  4. C语言如何返回格式化日期时间(格式化时间)?(将日期和时间以字符串格式输出)ctime()、asctime()、localtime()、strftime()
  5. 【程序员自救指南】中关村保洁大叔的一句话竟然帮我转正了
  6. 【鲲鹏来了】手把手教你在鲲鹏上使用编程语言——Java、Python
  7. python爬取网页url_Python网络爬虫之利用urllib2通过URL抓取网页内容
  8. 【转】linux shell 中21含义
  9. Microsoft Press免费电子书地址
  10. 阳光点歌系统服务器说明书,天行阳光机顶盒点歌系统安装及配置说明
  11. android 原笔迹,Android-原笔迹手写的探索与开发
  12. 高斯帕滑翔机枪matlab,高斯帕滑翔机枪的播种机这么做?
  13. 数据结构(Java)-树-堆排序的实现
  14. 通过wal文件查看lsn和txid,lsn和txid对应关系
  15. 塞瓦定理,逆定理,及其引伸的证明
  16. Qt 隐式共享之深拷贝、浅拷贝
  17. Unity Game 外面一圈灰,不全屏的解决办法
  18. atoi,atol,strtod,strtol,strtoul实现类型转换
  19. Android 手机开启全局调试xposed插件
  20. “情”不知何起,一往而深

热门文章

  1. Python 3.x 引入了函数注释
  2. mysql索引查2遍_mysql索引优化查询
  3. matlab1信号的单边z变换:,实验二 离散时间信号与系统的Z变换分析
  4. Intel Realsense D435 Post-processing filters 后处理过滤器(用于消除图像的黑洞)
  5. CSDN博客导出备份工具
  6. python strip()方法 去除字符串头尾指定字符 默认为空格、换行符、制表符、回车符
  7. tensorflow:Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2
  8. python numpy.meshgrid() 函数的用法(快速生成坐标矩阵)
  9. 清华源安装指定版本tensorflow
  10. beetlsql报错“请指定Sql类型“的解决方案