函数的目的:重复使用相同的一段程序

函数的定义

下面是我自定义的一个求a,b,c三个参数平方和的函数

  1. #a,b,c三个参数的平方和
  2. def pow_sum(a,b,c):
  3. x = pow(a,2)+pow(b,2)+pow(c,2)
  4. return a,b,c,x
  5.  
  6. #调用
  7. print(pow_sum(1,2,3))

首先,def通知Python我是一个函数,pow_sum是一个函数

括号中的a,b,c三个是参数,参数也可以为空,但括号是必须要有

以下两段代码的缩进代表隶属关系

Return可以返回多个值,用逗号分隔。相当于一个tuple(定值表)

在Python中,当程序运行到return的时候,程序将停止执行函数内剩下的语句,当没有return时,或者return后面没有返回值时,函数将自动返回None

函数的调用与传递

定义了一个函数后,需要进行调用才可以凸显函数的价值

使用以下这段程序即可调用

  1. print(pow_sum(1,2,3))

Python通过位置,知道a对应的是1,b对应的是2,c对应的是3,然后把参数传递给函数pow_sum.

下面是2个例子:

例子1:

  1. a = 1
  2. def add(a):
  3. a = a+1
  4. return a
  5. print(add(a))
  6. print(a)

运行结果:

C:\Users\Thinkpad\AppData\Local\Programs\Python\Python36\python.exe D:/Python/Python_Demo/Demo_3.py
2
1

说明:我们将一个整形变量传递给函数,函数对它进行操作,但原整形变量a不发生变化。

例子2:

  1. i = [1,2,3]
  2. def add(a):
  3. i[0] = i[0]+1
  4. return i
  5.  
  6. print(add(i))
  7. print(i)

说明:我们将一个表传递给函数,函数进行操作,原来的表发生变化

对于基本数据类型的变量,变量传递给函数后,函数会在内存中复制一个新的变量,从而不影响原来的变量。(我们称此为值传递)

但是对于表来说,表传递给函数的是一个指针,指针指向序列在内存中的位置,在函数中对表的操作将在原有内存中进行,从而影响原有变量。 (我们称此为指针传递)

【Python】学习笔记七:函数的更多相关文章

  1. python学习笔记(七)-函数

    函数 方法 功能说白了,函数就是把一堆代码组合到一起,变成一个整体.函数不调用不会被执行.作用在于提高代码的复用性.定义函数 def greet_user(): """关 ...

  2. Python学习笔记之函数

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

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

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

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

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

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

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

  6. Python学习笔记七

    面向对象编程 面向对象的特性如下: 类:具有相同属性和方法的一类事物,成为类. 对象:类的实例化后的结果,一个类可以实例化多个对象,每个对象也可以不同的属性. 封装:在类中对数据的赋值,类里面包含着类 ...

  7. Python学习笔记_week3_函数

    一.介绍 1.面向对象(华山派)--->类(独门秘籍)--->class(定义的关键字) 2.面向过程(少林派)--->过程--->def 3.函数式编程(逍遥派)---> ...

  8. python学习笔记(四):函数

    一.函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasc ...

  9. python学习笔记:函数

    一.函数是什么 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pasca ...

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

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

随机推荐

  1. 實現QQ第三方登錄

    <?php // 写几个函数,分别用于获取code,token,openid,用户信息 // 跳转到QQ授权登录页面 function code(){ $response_type='code' ...

  2. 在linux下和Mac下如何实现快捷方式连接SSH远程服务器

    其实特别简单 在本地命令执行目录/usr/local/bin 下新建一个shell脚本 比如 #vim ssh1 写入要执行的内容连接SSH #!/usr/bin/expect -f set user ...

  3. wode.

    http://www.cnblogs.com/wilber2013/p/4638967.html

  4. Codeforces 1220B. Multiplication Table

    传送门 冷静分析容易发现,我们只要能确定一个数的值,所有值也就可以确定了 确定一个数的值很容易,$a_ia_j=M_{i,j},a_ia_k=M_{i,k},a_ja_k=M_{j,k}$ 然后就可以 ...

  5. 07、poly-A内参和杂交内参(arrayanalysis的问题)

    为了验证杂交的质量,Affymetrix公司加入了两类嵌入探针组: 一.poly-A内参:包括lys.phe.thr.dap 对应的探针组名称为:AFFX-r2-Bs-lys-3_at.AFFX-r2 ...

  6. TCPcopy环境搭建

    参考文档:https://github.com/session-replay-tools/tcpcopy 辅助机器Assistant Server: 1.下载最新版本 git clone git:// ...

  7. EasyTest-接口自动化测试平台部署上线问题记录

    平台url:   http://easytest.xyz 花巨资搞了个阿里云服务器,哈哈,有想体验指导的大佬私聊我~~~ 部署环境 云服务器:Ubuntu Server 16.04.1 LTS 64位 ...

  8. git大全转

    git原理:https://git-scm.com/book/zh/v2 http://blog.xiayf.cn/2013/09/28/learning-git-internals-by-examp ...

  9. centos--软件源--本地软件源---离线安装

    一.软件源配置文件 1./etc/yum.conf 配置文件 [main] cachedir=/var/cache/yum #yum下载的RPM包的缓存目录 keepcache= #缓存是否保存,1保 ...

  10. docker安装配置mongodb

    1 执行 docker search mongo 命令: 2 运行mongo docker run --name mongo -v /mnt/mongodb:/data/db -p 27017:270 ...