本套学习内容共计【22】个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助。

开发环境:【Win10】

开发工具:【Visual Studio 2019】

本章内容为:【函数】

1、函数是什么【def】?

函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。

函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。

定义一个函数

你可以定义一个由自己想要功能的函数,以下是简单的规则:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号 : 起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。

2、语法与调用

Python 定义函数使用 def 关键字,一般格式如下:

def 函数名(参数列表):函数体

判断闰年函数例子:

#isleap的内部函数写法如下:
def isleap(year):"""Return True for leap years, False for non-leap years."""return year % 4 == 0 and (year % 100 != 0 or year % 400 == 0)print(isleap(2000))

3、传递参数

3.1、参数地址变化

在 python 中,类型属于对象,变量是没有类型的:

a=[1,2,3]a="Runoob"

以上代码中,[1,2,3] 是 List 类型,"Runoob" 是 String 类型,而变量 a 是没有类型,她仅仅是一个对象的引用(一个指针),可以是指向 List 类型对象,也可以是指向 String 类型对象。

可更改(mutable)与不可更改(immutable)对象

在 python 中,strings, tuples, 和 numbers 是不可更改的对象,而 list,dict 等则是可以修改的对象。

  • 不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变 a 的值,相当于新生成了 a。

  • 可变类型:变量赋值 la=[1,2,3,4] 后再赋值 la[2]=5 则是将 list la 的第三个元素值更改,本身la没有动,只是其内部的一部分值被修改了。

python 函数的参数传递:

  • 不可变类型:类似 C++ 的值传递,如整数、字符串、元组。如 fun(a),传递的只是 a 的值,没有影响 a 对象本身。如果在 fun(a) 内部修改 a 的值,则是新生成一个 a 的对象。

  • 可变类型:类似 C++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后 fun 外部的 la 也会受影响

python 中一切都是对象,严格意义我们不能说值传递还是引用传递,我们应该说传不可变对象和传可变对象。

python 传不可变对象实例

通过 id() 函数来查看内存地址变化:

def change(a):print(id(a))   # 指向的是同一个对象a=10print(id(a))   # 一个新对象a=1
print(id(a))
change(a)

3.2、多参数传递

简单四则计算器:

def jia(x,y):return (x+y)
def jian(x,y):return (x-y)
def cheng(x,y):return (x*y)
def chu(x,y):return (x/y)X=float(input("请输入X:\n"))
Y=float(input("请输入Y:\n"))
print(jia(X,Y))
print(jian(X,Y))
print(cheng(X,Y))
print(chu(X,Y))

4、return用法

return [表达式] 语句用于退出函数,选择性地向调用方返回一个表达式。不带参数值的return语句返回None。之前的例子都没有示范如何返回数值,以下实例演示了 return 语句的用法:

# 计算
def sum( arg1, arg2 ):# 返回2个参数的和."total = arg1 + arg2print ("函数内 : ", total)return total#返回结果,可用变量接收# 调用sum函数
total = sum( 100, 20 )#接收变量返回的值
print ("函数外 : ", total)

5、总结:

请记住:

  • 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号 ()。
  • 任何传入参数和自变量必须放在圆括号中间,圆括号之间可以用于定义参数。
  • 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。
  • 函数内容以冒号 : 起始,并且缩进。
  • return [表达式] 结束函数,选择性地返回一个值给调用方,不带表达式的 return 相当于返回 None。

本课程目录为:

Python初级

1 、开发工具

2 、中文编码

3 、基础语法

4 、变量类型

5 、运算符

6 、条件语句

7 、while循环

8 、for循环

9 、循环控制

10、 循环嵌套

11 、字符串

12 、列表

13 、元组

14、 字典

15 、日期时间

16、 函数(本章)

17 、模块

18 、文件I/O

19 、File方法

20 、异常处理

21 、文件目录

22 、内置函数

欢迎【点赞】、【评论】、【关注】、【收藏】、【打赏】,为推广知识贡献力量。

零基础学Python(第十六章 函数·重点)相关推荐

  1. 《零基础学python》---第六章 函数

    创建一个函数 创建函数也称为定义函数,可以理解为创建一个具有某种用途的工具.使用def关键字实现,具体的语法格式如下: def functionname([parameterlist]):['''co ...

  2. 零基础学Python(第六章 if条件语句)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 1.什么是条 ...

  3. 零基础学Python(第三章 基础语法)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 1.第一个 ...

  4. 零基础学Python(第十一章 字符串处理)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...

  5. 零基础学Python(第四章 变量类型)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 1.Pyth ...

  6. 零基础学Python(第二十一章 OS文件目录)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...

  7. 零基础学Python(第十七章 模块import)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...

  8. 零基础学Python(第十三章 元组)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 本章内容为: ...

  9. 零基础学Python(第七章 while循环)

    本套学习内容共计[22]个章节,每个章节都会有对应的从0-1的学习过程详细讲解,希望可以给更多的人提供帮助. 开发环境:[Win10] 开发工具:[Visual Studio 2019] 1.本章节将 ...

最新文章

  1. 2015微信商业化正式启幕 为企业开启O2O主阵地
  2. 控制反转(IoC)-解析与实现
  3. socket通信流程图
  4. 牛客网递归错题:递归、欧几里得求最大公约数的时间复杂度、线性递归与尾递归实例区别
  5. element手机验证格式_vue封装 element-ui form表单验证 正则匹配手机号 自定义校验表格内容...
  6. 机器学习重大挑战:坏数据和坏算法正在毁掉你的项目
  7. C调用Python的示例代码
  8. Hi3519A 开发板重装系统(烧写uboot、kernel、fs) + 重新加载驱动
  9. uni-app微信小程序——商城(6)——我的主页
  10. 小爱音箱 电脑 麦克风_小米发布两款小爱音箱新品:发力音质,加入蓝牙网关...
  11. 【在野利用】Apple Mail多个严重漏洞在野利用通告
  12. longhorn安装与使用
  13. win7音量控制图标不见了怎么办
  14. windows远程会话已断开连接,因为访问被拒绝导致许可证存储的创建失败。请使用提升的权限运行远程桌面客户端—解决方法
  15. Java语言与开发环境
  16. java 富文本 word_Java导出富文本到word
  17. 电池电量与电压的关系
  18. 【回溯专题】—— 回溯算法入门篇
  19. 《学习之道》第六章一心多用
  20. MATLAB中不用循环生成圆盘(圆形)/圆环掩膜矩阵

热门文章

  1. LinkedList阅读
  2. java中通过JNA调用dll
  3. mybatis当遇到,用mysql关键字作为的字段的表,如何处理
  4. 洛谷 CF1043F Make It One 解题报告
  5. mac iterm2快捷键
  6. 探索ArrayList自动改变size真相
  7. Java中的继承和接口
  8. RedOffice教你DIY环保小日历
  9. 2.3.6 Federate 远程访问数据库
  10. apache站点优化—数据压缩