在刚接触python的时候就有个疑问,什么是函数? python语言的函数和数学语言的函数有区别吗?

什么是函数

数学函数:给定一个数集A,假设其中的元素为x。现对A中的元素x施加对应法则f,记作f(x),得到另一数集B。假设B中的元素为y。则y与x之间的等量关系可以用y=f(x)表示

python函数:函数就是一段事先组织好的,它具有可重复性,封装好,用来实现某个相关联功能的代码段,函数能提高应用的模块性,和代码的重复利用率。

格式:

#未携带函数格式

def name(): #name表示函数的名称

print('这是个函数') #函数的内容

return name #返回函数值

name()#执行函数

#携带参数函数格式

defname(name):print('这是个函数名',name)returnname

name('name')

通常来说函数必须要遵循以下几点:

函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。

圆括号之间可以用于定义参数。

函数内容以冒号起始,并且缩进。

return 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。

可变与不可变传参

传不可变参数

# 传不可变参数

defname(a):

a= 20

print(a)

b= 10name(b)#结果为20

print(b) #结果为10

传可变参数

defchangeme( mylist ):

mylist.append([1,2,3,4])print( "函数内取值:", mylist)return

#调用changeme函数

mylist = [10,20,30]

changeme( mylist )

执行结果:

函数内取值: [10, 20, 30, [1, 2, 3, 4]]

不可变:整数、字符串、元组

可变参数:字典,列表

全局变量和局部变量

name = 'AnJing'

defname_01(name):print('现在我的名字是:',name)

name= 'test'

print('现在我的名字是:',name)

name_01(name)print('外面我的名字是:',name)

执行结果:

现在我的名字是: AnJing

现在我的名字是: test

外面我的名字是: AnJing

定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域,局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中

函数之间的调用

defjiafa(a,b):'''加法'''c= a +breturnc  # 返回Cdefjianfa(c):'''减法'''d= 2s= c -dprint(s)

c= jiafa(2,3) #调用函数加法

jianfa(c) #调用函数减法

执行结果:3加法函数返回值赋给C,函数减法接受参数C进行完成减法操作

非固定参数

若你的函数在定义时不确定用户想传入多少个参数,就可以使用非固定参数,引入*args,**kwargs

#*args

def name(name,*args):print(name,args)

name('AnJing','test',123)

执行结果:

AnJing ('test', 123)

这个时候会发现*args 传入的内容会变成一个元祖#**kwargs

def name(name,**kwargs):print(name,kwargs)

name('AnJing',it='test',age=123)

执行结果:

AnJing {'it': 'test', 'age': 123}

这个时候会发现**kwargs传入的内容会变成一个字典

递归

函数之间可以进行调用,那么函数本身也可以进行调用,这种函数我们叫做递归

#递归函数

defcalc(n):print(n)if int(n/2) ==0:returnnreturn calc(int(n/2))

calc(10)

执行结果:10

5

2

1

python content函数_python函数内容相关推荐

  1. python order函数_Python进阶内容(一)--- 高阶函数 High order function

    0. 问题 # 本文将围绕这段代码进行Python中高阶函数相关内容的讲解 # 文中所有代码的兼容性要求为:Python 3.6,IPython 6.1.0 def addspam(fn): def ...

  2. python函数调用位置_python函数定义,调用,传参,位置参数及关键字参数,返回值

    使用函数是真正开始编程的第一步,函数y=f(x)我们并不陌生,对x进行一顿操作得到一个值y.给不同的x,进行相同的操作,得到相应的y值. 程序层面函数是执行特定任务的一段代码,将一段代码定义成函数并为 ...

  3. python商品管理系统_python 函数写商城管理系统

    首先我们要想到一个商城管理系统有什么模块? 1.登陆 2添加商品 3删除商品 4 查询商品 5 程序退出 但是以上模块还是不够,一个管理系统应该还有一个具有更高权限的管理帐号,它具备以上的功能之外 还 ...

  4. python fields函数_Python函数详解

    # ------------------------------------一等函数------------------------------------ # 龟叔: 虽然我把函数定为一等对象,但是 ...

  5. python采用函数式_python -- 函数以及函数式编程

    函数以及函数式编程 到目前为止,我们的Python 代码已经实现了小的分块.它们都适合处理微小任务, 但是我们想复用这些代码,所以需要把大型代码织成可管理的代码段.代码复用的第一步是 使用函数,它是命 ...

  6. change在python是什么函数_python函数基础

    python函数 函数的基本定义 函数参数 返回值 局部变量和全局变量 嵌套函数 匿名函数 高阶函数 递归 函数的基本定义 引子 现在你的老板让你写一个监控程序,24小时全年午无休的监控你们公司网站服 ...

  7. python中func自定义函数_Python函数之自定义函数作用域闭包

    一 前言 1.1 为什么要用函数 代码的组织结构更清晰,可读性好: 遇到重复的功能不需要重新编写代码,调用函数即可,代码不会冗余: 功能需要扩展时,只需要修改函数内容即可,实现统一管理,降低代码维护难 ...

  8. python nums函数_Python函数

    一.简介 函数是可重用的程序代码块.函数的作用,不仅可以实现代码的复用,更能实现代码的一致性.一致性指的是,只要修改函数的代码,则所有调用该函数的地方都能得到体现. 函数用关键字def来定义,def关 ...

  9. python not函数_python 函数

    1 为什么使用函数 在没有接触函数时,有时候需要将一个功能多次写,如果需要修改其中一个变量,则需要把所有实现该功能的代码一处一处改.不利于代码维护,代码量大了,组织结构也会很不清晰. 所以总结不使用函 ...

  10. python函数调用语句_Python函数定义和函数调用

    原标题:Python函数定义和函数调用 我们已经使用了一些python内建函数,比如print().input().str()等等. 也使用了一些python自带模块的一些库函数,比如math模块的a ...

最新文章

  1. 数据结构:平衡二叉树概念、旋转
  2. java new collection_使用Java 8新增的Predicate操作Collection集合
  3. C# 如何转换生成长整型的时间
  4. 1、HTTP--Web's foundation
  5. 《剑指offer》第一题(重载赋值运算符)
  6. 系统在此应用程序中检测到基于堆栈的缓冲区_Linux 中的零拷贝技术
  7. 华章教育pdf计算机,AB-PLC华章培训全集.pdf
  8. 文件夹批量重命名排序递增的方法
  9. 【人在运维囧途_14】打扫干净屋子再请客
  10. 《逻辑学概论》mooc
  11. Windbg命令学习4(d和e)
  12. Android侧滑返回分析和实现(不高仿微信),flutter项目实战
  13. composer镜像源切换
  14. 测试管理工具之禅道的使用
  15. 算法中的一些数学问题分享,ICG游戏
  16. 测试软件安装可以用影子系统吗,什么是影子系统? 影子系统安装使用图文教程...
  17. 面试中关于Redis的问题
  18. 魔兽服务器负载显示新,魔兽世界部分服务器的负载过高 官方将会开启免费转服服务...
  19. eclipse下载及安装
  20. 远程计算机或设备不接受连接解决方法

热门文章

  1. 解决High bias 和High variance 的方法
  2. 自定义validator
  3. 《Involution:Inverting the Inherence of Convolution for Visual Recognition》论文笔记
  4. HTML 语法练习---常见标签
  5. ASP.NET Core 引用其他程序集项目里面的 Controller 控制器
  6. [VS]网页连接数据库
  7. RCC_APB2Periph_ALL 哪儿里去了?
  8. Ceph分布式存储系列(六):对象存储、块存储、文件存储的区别和优缺点
  9. 【到底什么才是电角度呢?如何使用示波器精准的测量电角度呢?】
  10. 带农历日期的html代码,很全的显示阴历(农历)日期的js代码