Python_day09_函数详解编程语言
今天我们来学习函数。
产生的原由,若没有函数,会显得重复代码多,可读性差,也会造成重复造轮子的情景。
故产生了函数,用来封装好一个功能,它是以功能为导向的。
例如自己定义一个函数:
def my_len():
def python中的关键字,用来声明和定义一个函数;
my_len 函数名,命名规范与变量命名的一样;
def与函数名中间要隔一个空格;
函数名+ () + : ,括号加冒号,括号里填的要你想要设置函数调用者传递的参数;
紧接着就是缩进的函数体(主要功能实现部分);
例,以下自定义的计算可迭代对象元素长度的函数:
my_len(): def my_len(l): count = 0 for i in l: count += 1 return count li = [1, 2, 3, 4, 5] print(my_len(li))
函数的执行,函数名+ () 就会去调用执行。
函数的返回值,定义函数时,不要在函数中写print语句(调试的时候可以这么做),因为函数是以功能为导向的,需要返回输出的值时使用return将值返回给函数的调用者就可以了。
在函数当中遇到return时就会结束执行函数(结合if语句用就会有像循环中break的感觉)。
函数返回的值有以下几种:
1)无return语句,返回None;
2)使用了return,返回None;
3)return指定返回一个值,该值是什么,就直接返回给函数调用者;
4)return返回多个值,将多个值放置到一个元组中,返回给函数调用者。
例,在以下自定义一个用于比较两个整数大小的函数体中,就使用了三元运算:
# 普通的比较两数大小,谁的值大返回谁的函数: def max_min(a, b): if a b: return a else: return b print(max_min(290,355)) # 使用了三元运算优化代码: def max_min(a,b): return a if a b else b print(max_min(45, 56)) retrun a if a b else b 的意思是判断如果a b 就返回a,否则返回b。3、【函数的传参】
分两大方面:实参和形参。
上例中的max_min(45,56)这里的45和56就属于实际传递过去的参数,所以就是实参;
而def中定义函数时出现的max_min(a,b)中的a,b就属于形式上的参数,用于对应参考的,就是形参。
实参角度:
1、位置传参,与形参的位置与个数一一对应,按顺序,个数不能少也不能多;
2、关键字传参,同样与形参一一对应,但可以不按顺序,因为有关键字,例如上例在实参中直接填写b=56,a=45这样。
3、混合传参,就是位置参数和关键字参数混合使用,但要注意的是所有的关键字参数都要放在最后面,也就是位置参数要在关键字参数之前。
形参角度:
1、位置传参,按顺序和个数与实参形成一一对应关系;
2、默认参数,重要!设置好默认参数后,如果实参中有传递参数过来,就按照实参的参数,如果没有,就直接按照默认的预设的值。省事又灵活。默认参数永远要在位置参数的后面。
3、动态参数,今天暂时不去了解。
end
2018-3-28
12771.html
cpython相关文章
- python详细安装教程环境配置_Python配置环境
- python setattr函数_Python内置函数(53)——setattr
- python常用工具代码详解编程语言
- python在线抓取百度词典的翻译结果翻译单词详解编程语言
- python操作sqlite3数据库完全代码详解编程语言
- python创建桌面快捷方式的代码详解编程语言
- python提取url中的域名和端口号详解编程语言
- python生成随机mac地址详解编程语言
- python 转换数字为钱数详解编程语言
- Python计算两个日期之间的相差的秒数详解编程语言
- 计算时间差,时间加减运算python代码详解编程语言
- Python的时间转换详解编程语言
- Python网络编程——学习笔记详解编程语言
- Python SMTP邮件模块详解编程语言
- python实现快速排序详解编程语言
- Python_day05-字典dict详解编程语言
- 全面解读Python Web开发框架Django详解编程语言
- Python 算法(2) 哈夫曼编码 Huffman Encoding详解编程语言
- Python 之 raw_input()与input()区别详解编程语言
- python字符串替换的2种方法详解编程语言
- python:函数详解编程语言
- python tab和空格混合报错解决方法详解编程语言
- python pycharm破解教程详解编程语言
- 用Python写简单的爬虫详解编程语言