Python学习之旅(十)
Python基础知识(9):函数(Ⅰ)
Python中函数的定义:是逻辑结构和过程化的一种编程方法
定义方法:
def test(x):
#def:定义函数的关键字 test:函数名 x:形参,也可以不设置形参
"The function definition"
#“……”文档描述,这个函数的功能或属性
x=x+3
print(x)
#代码块
return x
#return:定义返回值 test(1)
#运行test 1:实参
结果:4
1、函数重名时会被覆盖,调用时只调用距离调用语句最近的函数
def test(x):
x+=1
print(x)
return x def test(x):
print("The number is:%d"%x)
return x test(1)
结果:
The number is:1
2、使用函数的好处
(1)代码重用
(2)保持一致性,易维护
(3)可扩展性:后期想增加其它功能只需改函数中的代码即可
3、函数与过程
过程:简单特殊没有返回值,即没有return语句。打印过程的调用语句是会输出None
#函数
def test1(x):
x=x+5
return x #过程
def test2(x):
x=x+5 print(test1(1))
print(test2(1)) 结果:
6
None
4、函数参数
形参:只有被调用时才分配内存单元,只有被调用时才有效,调用结束后会释放内存单元。而函数调用结束返回主调用后就不能再使用该形参
实参:可以是常量、变量、表达式、函数等。
(1)位置实参
在调用函数时实参与形参必须一一对应,且实参与形参个数必须一样多,否则会报错
def test(x,y,z):
x=x+y+z
return x print(test(2,1,3))
结果:6
(2)关键字实参
通过关键字-值的方式,此时实参的位置无无需固定
def test(x,y,z):
x=x+y-z
return x print(test(z=2,x=1,y=3))
结果:2
(3)既用关键字,也用位置实参
使用这种方法时位置参数必须在关键字参数前面否则会报错
(4)默认参数
(5)参数组
当不确定需要传入的值是多少时,在定义形参的时候,可以使用*args(列表),**kwargs(字典)来表示。
Python学习之旅(十)的更多相关文章
- 180分钟的python学习之旅
最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时 ...
- Python学习笔记(十四)
Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...
- Python学习笔记(十)
Python学习笔记(十): 装饰器的应用 列表生成式 生成器 迭代器 模块:time,random 1. 装饰器的应用-登陆练习 login_status = False # 定义登陆状态 def ...
- Python学习教程(十)精选 TOP45 值得学习的Python项目
精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...
- 小猪的Python学习之旅 —— 16.再尝Python数据分析:采集拉勾网数据分析Android就业行情...
一句话概括本文: 爬取拉钩Android职位相关数据,利用numpy,pandas和matplotlib对招人公司 情况和招聘要求进行数据分析. 引言: 在写完上一篇<浅尝Python数据分析: ...
- Python学习笔记(十五):类基础
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-24 23:59 学习笔记 1,Python中的大多 ...
- Python学习笔记(十四):模块高级
以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-23 21:30 学习笔记 1,包导入是把计算机上的 ...
- Spring学习之旅(十)--MockMvc
在之前的 Spring学习之旅(八)--SpringMVC请求参数 我们是通过在控制台输出来验证参数是否正确,但是这样做实在是太耗时间了,我们今天来学习下 MockMvc,它可以让我们不需要启动项目就 ...
- python学习之旅
python学习分类 python基础 +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...
- Python学习之旅(三十八)
Python基础知识(37):访问数据库(Ⅱ) 二.MySQL MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MyS ...
随机推荐
- ionic 状态栏显示异常 statusBar
从主分支上新建一个分支开发另一个app, 生成之后手机上显示状态栏异常, 如下图, 只显示了电池的色块, 百思不得其解啊. 各种猜测无果, 对比config.xml, 发现statusBar插件版本不 ...
- 为什么虚拟 dom 会提高性能?
虚拟 dom 相当于在 js 和真实 dom 中间加了一个缓存,利用 dom diff 算法避免了没有必要的 dom 操作,从而提高性能.用 JavaScript 对象结构表示 DOM 树的结构:然后 ...
- Linux远程执行shell命令
Linux远程执行shell命令 在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令. 下面这种方案,是一种流行可靠的方案. 1.SSH无密码登录 # 本地服务器执行(A机器) ...
- cpu使用过高的一次处理方法
1.top查看使用情况 2.查看mysql里的线程,观察是否有长期运行或阻塞的sql: show full processlist 原因找到,处理方法,添加索引,搞定
- CentOS 6.5 x64相关安全,优化配置
一.安全 1.修改密码长度: [root@CentOS64 ~]# vi /etc/login.defs PASS_MAX_DAYS 99999 //用户的密密码最长使用天数 PASS_MIN_D ...
- python3 利用正则获取网页中的想保存下来的内容
需要获取某个网页中表格部分中某个产品的成份 分析在html中成份的元素代码 <a href="/composition/4c3060178d1184935a48c4e51be4f63f ...
- Fortran+ OpenMP实现实例
PROGRAM parallel_01 USE omp_lib IMPLICIT NONE INTEGER :: i,j INTEGER() :: time_begin, time_end, time ...
- ffmpeg中AVOption的实现分析
[时间:2017-10] [状态:Open] [关键词:ffmpeg,avutil,AVOption] 0 引言 AVOptions提供了一种通用的options机制,可以用于任意特定结构的对象. 本 ...
- iOS开发之duplicate symbols for architecture x86_64错误
[主要内容:] 1. 错误提示 2. 分析错误原因 3. 解决问题办法 一.错误提示 在我们写代码过程中可能会经常遇到这样一个错误: <span style="font-size: ...
- php -- func_get_args
该方法必须在某个方法内部执行才有效 返回值为索引数组,一个数组元素对应一个参数