学哥量化交易学习
持续学习,提高认知,磨炼技艺,从零基础学编程并跨过量化程序交易的大门。
 返回首页
 
 
0015 编程入门python之定义函数
作者:学哥
发布时间:2017-2-6


今天讲python函数。

输入参数求三角形或圆形或长方形的面积
先输入1个参数:形状类型 1=三角形 2=圆形 3=长方形 然后根据输入的形状类型,要求输入计算面积所需的其它参数: 例如:三角形,输入底和高;圆形,输入半径;长方形,输入长和宽 然后计算出形状面积。 代码如下: 结果如下: 思考一下,这里的计算某种特定形状的面积,这个功能是否能够复用呢,也就是被其它程序使用呢 3个形状的计算面积功能,如果像上面这样写在一个程序里面是没有办法被其它程序复用的
函数的概念
函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 语法: def functionname( parameters ): "函数_文档字符串" function_suite return [expression] 举例如下: def printme(str): print str return def add(num1,num2): ret=num1+num2 return ret 总结一下特征: 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 函数内容以冒号起始,并且缩进。 return [表达式] 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。或者不写return语句。
函数的调用
定义好函数之后,就可以调用这个函数,我们之前已经调用过很多函数了,例如print , input 等等 例如调用自定义加法函数: def add(num1,num2) ret=num1+num2 return ret print add(5,3) print add(8,6)
按值传递参数和按引用传递参数
所有参数(自变量)在Python里都是按引用传递。如果你在函数里修改了参数,那么在调用这个函数的函数里,原始的参数也被改变了。例如: def changelist( thelist ): thelist.append(["a","b","c"]); print "函数内变量值: ", thelist return mylist = [1,2,3]; changelist( mylist ); print "函数外变量值: ", mylist 传入函数的和在末尾添加新内容的对象用的是同一个引用。故输出结果如下: 函数内变量值: [1,2,3,["a","b","c"]] 函数外变量值: [1,2,3,["a","b","c"]] 在python环境里面实验看看:
参数的几种形式
必备参数 必备参数须以正确的顺序传入函数。调用时的数量必须和声明时的一样。 调用printme()函数,你必须传入一个参数,不然会出现语法错误: 在python环境里面实验看看: 关键字参数 关键字参数和函数调用关系紧密,函数调用使用关键字参数来确定传入的参数值。 使用关键字参数允许函数调用时参数的顺序与声明时不一致,因为 Python 解释器能够用参数名匹配参数值。 在python环境里面实验看看: 缺省参数 调用函数时,缺省参数的值如果没有传入,则被认为是默认值。下例会打印默认的age,如果age没有被传入: 在python环境里面实验看看:
改造之前的四则计算器程序
将之前做过的四则计算器程序拿出来,将里面的加减乘除计算作成4个函数调用: 代码如下:
改造上面的面积计算程序
这节课开始的面积计算程序,可以分别讲3个形状的面积计算公式作成函数,然后分别调用: 完整代码如下: 函数最重要的作用是可以将代码重新组织并重复利用,减少代码冗余,并能够减少出错的可能性,提高代码的结构性和可读性。 函数是非常重要的概念,基于函数才能够构造出更复杂的程序,实现更复杂的功能。
课后作业
1.修改输入一个年月日日期,输出是星期几的程序,闰年判断做成函数,统计天数作成函数,星期计算做成函数 2.求图形面积函数增加平行四边形,梯形
学哥量化交易学习团队
   致力于:持续学习,提高认知,磨炼技艺,持续输出高质量的教程和课程,帮助更多的人从零基础学编程并跨过量化程序交易的大门。
零基础学编程Python入门课程
课程包含以下内容:
1.图文教程《零基础学编程入门-从Python到Web网站.pdf》,学哥原创版权,共计1024页高清图文教程。
2.视频课程《零基础学编程Python入门》,学哥原创版权,共计24节课45个高清视频。
3.视频教程《玩转魔方》,学哥原创版权,可以送给孩子,共计16个高清视频。
4.图文教程《如何寻找编程相关的电子书下载资源.pdf》。
5.加入学哥编程学习辅导QQ群在线交流。

客服 10:00-17:00
QQ: 44556287
微信公众号
学哥量化交易学习
 
  微信公众号:学哥量化交易学习     QQ群1:603559164    客服QQ号:44556287
工信部备案/许可证编号:沪ICP备15050545号-4