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学习之旅(十)的更多相关文章

  1. 180分钟的python学习之旅

    最近在很多地方都可以看到Python的身影,尤其在人工智能等科学领域,其丰富的科学计算等方面类库无比强大.很多身边的哥们也提到Python非常的简洁方便,比如用Django搭建一个见得网站只需要半天时 ...

  2. Python学习笔记(十四)

    Python学习笔记(十四): Json and Pickle模块 shelve模块 1. Json and Pickle模块 之前我们学习过用eval内置方法可以将一个字符串转成python对象,不 ...

  3. Python学习笔记(十)

    Python学习笔记(十): 装饰器的应用 列表生成式 生成器 迭代器 模块:time,random 1. 装饰器的应用-登陆练习 login_status = False # 定义登陆状态 def ...

  4. Python学习教程(十)精选 TOP45 值得学习的Python项目

    精选 TOP45 值得学习的Python项目 [导读]热门资源博客 Mybridge AI 比较了 18000 个关于 Python 的项目,并从中精选出 45 个最具竞争力的项目.我们进行了翻译,在 ...

  5. 小猪的Python学习之旅 —— 16.再尝Python数据分析:采集拉勾网数据分析Android就业行情...

    一句话概括本文: 爬取拉钩Android职位相关数据,利用numpy,pandas和matplotlib对招人公司 情况和招聘要求进行数据分析. 引言: 在写完上一篇<浅尝Python数据分析: ...

  6. Python学习笔记(十五):类基础

    以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-24 23:59 学习笔记 1,Python中的大多 ...

  7. Python学习笔记(十四):模块高级

    以Mark Lutz著的<Python学习手册>为教程,每天花1个小时左右时间学习,争取两周完成. --- 写在前面的话 2013-7-23 21:30 学习笔记 1,包导入是把计算机上的 ...

  8. Spring学习之旅(十)--MockMvc

    在之前的 Spring学习之旅(八)--SpringMVC请求参数 我们是通过在控制台输出来验证参数是否正确,但是这样做实在是太耗时间了,我们今天来学习下 MockMvc,它可以让我们不需要启动项目就 ...

  9. python学习之旅

    python学习分类 python基础    +- day01——python初始.变量.常量.注释.基础数据类型.输入.if day02——while.字符串格式化.运算符.编码初识 day03—— ...

  10. Python学习之旅(三十八)

    Python基础知识(37):访问数据库(Ⅱ) 二.MySQL MySQL是Web世界中使用最广泛的数据库服务器.SQLite的特点是轻量级.可嵌入,但不能承受高并发访问,适合桌面和移动应用.而MyS ...

随机推荐

  1. ionic 状态栏显示异常 statusBar

    从主分支上新建一个分支开发另一个app, 生成之后手机上显示状态栏异常, 如下图, 只显示了电池的色块, 百思不得其解啊. 各种猜测无果, 对比config.xml, 发现statusBar插件版本不 ...

  2. 为什么虚拟 dom 会提高性能?

    虚拟 dom 相当于在 js 和真实 dom 中间加了一个缓存,利用 dom diff 算法避免了没有必要的 dom 操作,从而提高性能.用 JavaScript 对象结构表示 DOM 树的结构:然后 ...

  3. Linux远程执行shell命令

    Linux远程执行shell命令   在Linux系统中,我们经常想在A机器上,执行B机器上的SHELL命令. 下面这种方案,是一种流行可靠的方案. 1.SSH无密码登录 # 本地服务器执行(A机器) ...

  4. cpu使用过高的一次处理方法

    1.top查看使用情况 2.查看mysql里的线程,观察是否有长期运行或阻塞的sql: show full processlist 原因找到,处理方法,添加索引,搞定

  5. CentOS 6.5 x64相关安全,优化配置

    一.安全 1.修改密码长度: [root@CentOS64 ~]# vi /etc/login.defs PASS_MAX_DAYS 99999   //用户的密密码最长使用天数 PASS_MIN_D ...

  6. python3 利用正则获取网页中的想保存下来的内容

    需要获取某个网页中表格部分中某个产品的成份 分析在html中成份的元素代码 <a href="/composition/4c3060178d1184935a48c4e51be4f63f ...

  7. Fortran+ OpenMP实现实例

    PROGRAM parallel_01 USE omp_lib IMPLICIT NONE INTEGER :: i,j INTEGER() :: time_begin, time_end, time ...

  8. ffmpeg中AVOption的实现分析

    [时间:2017-10] [状态:Open] [关键词:ffmpeg,avutil,AVOption] 0 引言 AVOptions提供了一种通用的options机制,可以用于任意特定结构的对象. 本 ...

  9. iOS开发之duplicate symbols for architecture x86_64错误

    [主要内容:] 1. 错误提示 2. 分析错误原因 3. 解决问题办法 一.错误提示   在我们写代码过程中可能会经常遇到这样一个错误: <span style="font-size: ...

  10. php -- func_get_args

    该方法必须在某个方法内部执行才有效 返回值为索引数组,一个数组元素对应一个参数