Python中的函数和数学上的函数定义是不一样的,从数学的角度上来说函数的定义:给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示。我们把这个关系式就叫函数关系式,简称函数。函数概念含有三个要素:定义域A、值域C和对应法则f。其中核心是对应法则f,它是函数关系的本质特征。

  Python中的函数是以def关键字开头,后面接函数标识符和圆括号(),任何传入参数和自变量必须放在圆括号中间,圆括号之间也可以用于定义参数。函数的第一行可以选择性地添加注释,函数内容以冒号起始,并且缩进。return[表达式]结束函数,选择性的返回一个值给调用方,若没有return相当于返回None。

  Python定义函数使用def关键字,一般格式如下:

#函数的格式:
#def 函数名(参数列表):
# 函数体

  默认情况下,参数值和参数名称是按函数声明中定义的顺序来匹配的。当然我们也可指定。例:

#不指定时
def test(x,y,z):
print(x)
print(y)
print(z) test(1,2,3)
#执行结果:x=1,y=2,z=3 #指定时
def test(x,y,z):
print(x)
print(y)
print(z) test(y=1,x=3,z=4) #执行结果:y=1,x=3,z=4

  变量分为全局变量和局部变量。定义在函数内部的变量拥有一个局部作用域,这个变量我们成为局部变量;定义在函数外的拥有全局作用域,这个变量我们称为全局变量。例:

total = 0
def sum(num1, num2):
total = num1 + num2
print("局部变量 : ", total)
return total sum(10, 20)
print("全局变量 : ", total) #执行结果:局部变量 : 30
# 全局变量 : 0

  当内部作用域想修改外部作用域的变量时,就要用到global和nonlocal关键字了。

  global:修改全局变量,例:

NAME = "alex"
def test():
global NAME
print(NAME)
NAME = "root"
print(NAME) test()
print(NAME) #执行结果:

#alex
#root
#root

  nonlocal:修改上一级变量,例:

name = "ton"
def test():
name = "jock"
def one1():
nonlocal name
name = "root"
one1()
print(name)
print(name)
test() #执行结果:
#ton
#root

Python之路(六)---> 函数、变量的更多相关文章

  1. python成长之路六-函数的初识

    定义函数 我们现学已知的python函数有<内置函数> 而我们现在要学的是<自定义函数> 1,def  定义一个函数 def name(): # 后接函数名 冒号 pass 2 ...

  2. python 之路之函数01

    一   函数 1  那么要想学习函数,我们首先应该知道函数是什么? 我们这里所说的函数与数学中的函数是不同的概念,在这里我们可以把函数看成我们写代码过程中需要用到的工具. 2  那么这个‘工具’有什么 ...

  3. python之路六

    面向对象 引言 提到面向对象,总是离不开几个重要的术语:多态(Polymorphism),继承(Inheritance)和封装(Encapsulation).Python也是一种支持OOP的动态语言, ...

  4. Python之路 day3 函数定义 *args及**kwargs

    #!/usr/bin/env python # -*- coding:utf-8 -*- #Author:ersa import time # def logger(): # time_format ...

  5. 小白的Python之路 day3 函数

    1.函数基本语法及特性 背景提要 现在老板让你写一个监控程序,监控服务器的系统状况,当cpu\memory\disk等指标的使用量超过阀值时即发邮件报警,你掏空了所有的知识量,写出了以下代码 1 2 ...

  6. python之路——初识函数

    阅读目录 为什么要用函数 函数的定义与调用 函数的返回值 函数的参数 本章小结 返回顶部 为什么要用函数 现在python届发生了一个大事件,len方法突然不能直接用了... 然后现在有一个需求,让你 ...

  7. python之路(六)-函数相关

    在没有学习函数之前我们的程序是面向过程的,不停的判断,不停的循环,同样的代码重复出现在我们的代码里.函数可以更好的提高我们的 代码质量,避免同样的代码重复出现,而只需要在用的时候调用函数即可执行.此为 ...

  8. python之路之函数03

    一 首先我们学到函数的嵌套调用与定义:1 函数嵌套 # def f1(): # print(f1)#我们这里如果输入f1那么输出的则是f1这个变量(函数)所在的地址.如果输入一个字符的话那么就直接输出 ...

  9. python基础学习2 函数变量与赋值

    学习的第一步,就是通常的输出函数:print() 1.基础主要学习了变量的赋值,变量名可以疑字母.数字.下划线(_)进行命名,但是不能以数字开头 变量的赋值:变量名 = 变量值 2.模块的导入,和调用 ...

  10. Python基础:六、变量和常量

    一.变量 1. 变量: 将运算的中间结果暂存到内存,以便后续程序调用 2. 变量的作用: 代指内存里某个地址中保存的内容 3. 变量的命名规则: 1. 变量由字母.数字.下划线搭配组合而成 2. 不可 ...

随机推荐

  1. Power shell 复制文件到远程主机

    昨天因为要复制文件到多个服务器上,感觉一个个复制很麻烦,我就想用Power shell 命令来完成这个任务.具体代码如下: $servers= 'server1' ,'server2' $userna ...

  2. JSON与对象的序列化与反序列化

    一.利用JavaScriptSerializer 类 System.Web.Script.Serialization空间,位于System.Web.extensions.dll中. JavaScrip ...

  3. Foj 2299 Prefix(AC自动机、DP)

    Foj 2299 Prefix 题意 给定串s.正整数n,问有多少长度为n的字符串t满足:s[0...i]是t的子串,s[0...i+1]不是. 题解 求有多少长度为n的字符串t满足:s[0...i] ...

  4. jquery-validation验证插件

    参考网站:菜鸟教程 一.导入js <script src="http://static.runoob.com/assets/jquery-validation-1.14.0/lib/j ...

  5. 关于$.fn.scrollPath is not a function

    关于$.fn.scrollPath is not a function 在做项目过程中,用到了一个jQuery的滚动路径插件——jQuery Scroll Path.引入相关的js文件后,但是控制台一 ...

  6. 020.2.1 system

    内容:System的常用方法1.currentTimeMillis()方法(与1970年相差多少毫秒),2.Properties  getProperties():获取系统属性3.Set<Str ...

  7. xgcom linux下的串口助手

    好用到爆@@! 2.Install: Source code: http://code.google.com/p/xgcom/ svn checkout http://xgcom.googlecode ...

  8. python爬虫Jenkins编译失败的日志

    背景:在Jenkins编译失败后,需要拿到Jenkins的编译失败的日志,存储在数据库中,在把数据取出来,在另外一个页面进行展示,我的思路为: 1.观看Jenkins编译失败后的控制台显示的内容 2. ...

  9. vim基础初步

    vim文本编辑器初步 一.跟vi编辑器的关系 可以说vim编辑器是vi编辑器的升级版,它保留了vi编辑器的所有东西,而且加入了自己的新的特性. 比如说:支持跨平台,支持语法高亮,支持多级撤销等. ++ ...

  10. 死磕salt系列-salt配置文件

    这篇文件主要用来解释一下salt配置中常用的参数,其他的参数可以参考官网文档. 基础参数 interface: 服务器监听地址. ipv6: 是否启用ipv6. max_open_files: 最大文 ...