note 6 函数
函数
完成特定功能的一个语句组,这组语句可以作为一个单位使用,并且给它取一个名字
通过函数名执行
数学 function(x) = x^2 - 2x + 1
abs(x) #求x的绝对值
定义函数

定义和调用函数

函数参数-缺省参数

返回值
函数调用完成后,返回数据
return语句终止当前函数的执行
return后的语句将会被忽略

函数-变量作用域
局部变量
只能在程序的特定部分使用的变量
函数内部
全局变量
为整个程序所使用的变量

global 表示函数是全局变量

函数的优点
代码可重用
提高开发效率
减少重复编码
代码更简洁
函数功能相对独立,功能单一
结构清晰,可读性好
编程更容易把握
复杂程序分解成较小部件
封装与信息隐藏
函数-结构化程序设计方法

自顶向下
自顶向上
获得某年某月是周几
#判断闰年
def is_leap_year(year):
if year % 4 == 0 and year % 100 != 0 or year % 400 == 0:
return True
else:
return False
#获得月份的天数
def get_num_of_days_in_montn(year,month):
if month in (1,3,5,7,8,10,12):
return 31
elif month in (4,6,9,11):
return 30
elif is_leap_year(year):
return 29
else :
return 28
#1800.01.01到某年某月过了多少天
def get_total_num_of_day(year,month):
days = 0
for y in range(1800,year):
if is_leap_year(y):
days += 366
else:
days += 365
for m in range(1,month):
days += get_num_of_days_in_montn(year,m)
return days
#某年某月是周几
def get_start_day(year,month):
return (3 + get_total_num_of_day(year,month)) % 7
print get_start_day(2033,12)
note 6 函数的更多相关文章
- python note 11 函数名的使用、闭包、迭代器
1.函数名就是一个变量 def func(): print("我是一个小小的函数") a = func print(a) #输出变量存放地址 <function func a ...
- python note 10 函数变量
1.命名空间 #内置命名空间 —— python解释器 # 就是python解释器一启动就可以使用的名字存储在内置命名空间中 # 内置的名字在启动解释器的时候被加载进内存里#全局命名空间 —— 我们写 ...
- python补充最常见的内置函数
最常见的内置函数是: print("Hello World!") 数学运算 abs(-5) # 取绝对值,也就是5 round(2. ...
- python函数: 内置函数
forthttp://blog.csdn.net/pipisorry/article/details/44755423 Python内置函数 Python内置(built-in)函数随着python解 ...
- C#将C++动态库的回调函数封装成事件
关于C#调用C++动态库的文章很多,调用动态库中回调函数的方法也不在少数.但大多数调用回调函数的方法依然保留了C++的语法特点. 比如有一段C++的回调函数代码,为了表达它的意思,我把注释也粘贴了进来 ...
- PHP之implode与explode函数讲解
implode (PHP 4, PHP 5) implode — 将一个一维数组的值转化为字符串 说明¶ string implode ( string $glue , array $pieces ) ...
- Effective C++ 第二版 17)operator=检查自己 18)接口完整 19)成员和友元函数
条款17 在operator=中检查给自己赋值的情况 1 2 3 class X { ... }; X a; a = a; // a 赋值给自己 >赋值给自己make no sense, 但 ...
- Haskell高阶函数
Haskell functions can take functions as parameters and return functions as return values. A function ...
- strpos、 strstr、 substr三个函数的对比讲解
mixed strpos ( string $haystack , mixed $needle [, int $offset = 0 ] ) 返回 needle 在 haystack 中首次出现的数字 ...
随机推荐
- 小程序——如何引入外部js
当写小程序需要引入一些额外的js文件时,可以这样: 一.先把外部js用一个函数封闭起来: test.js function myfunc() { console.log("myfunc... ...
- 阿里云上rabbitmq安装
环境:CentOS Linux release 7.4.1708 (Core) rabbitmq-server-3.7.13-1.el7.noarch.rpm 阿里云服务器 1.安装elang ...
- JdbcTemplate 配置多数据源(完全照抄,完整)
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://mave ...
- 小学生噩梦——四则运算题库(python 全功能实现)
Github: https://github.com/holidaysss 小组:龙天尧(代码实现),林毓植(浮点转分数函数,代码审查) PSP2.1 Personal Software Proces ...
- Spring源码学习笔记2
1.默认标签的解析 对四种不同标签的解析 private void parseDefaultElement(Element ele, BeanDefinitionParserDelegate dele ...
- bis.org
巴塞尔官网包含了很多文档,看起来容易晕,简单说明一下. 首先,文档有几种类型(https://www.bis.org/bcbs/help/publ_types.htm): S: Standards 最 ...
- HBase学习笔记2 - HBase shell常用命令
转载请标注原链接:http://www.cnblogs.com/xczyd/p/6639397.html 扫表的时候限定行数 scan } 即为扫表的时候,限定只输出五条数据 ============ ...
- 锋利的jQuery初学(5)
层级选择器: 层级选择器 符号 解释 使用 空格 后代选择器 $("div p").css("","") + 紧邻选择器 $("d ...
- Linux 系统的用户和组
目录 1. 用户及组相关文件 2. 用户相关查询 2.1 直接通过cat文件查看用户及组文件内容 2.2 使用下面查询命令查看 3. 使用操作命令修改用户及组相关文件 3.1 专有编辑命令(仅限高级用 ...
- tornado--启动
tornado--启动 from tornado import web from tornado import ioloop from tornado.httpserver import HTTPSe ...