python函数内容
在刚接触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() # 执行函数 # 携带参数函数格式
def name(name):
print('这是个函数名',name)
return name
name('name')
通常来说函数必须要遵循以下几点:
- 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号()。
- 圆括号之间可以用于定义参数。
- 函数内容以冒号起始,并且缩进。
- return 结束函数,选择性地返回一个值给调用方。不带表达式的return相当于返回 None。
可变与不可变传参
传不可变参数
# 传不可变参数
def name(a):
a = 20
print(a)
b = 10
name(b) # 结果为20
print(b) # 结果为10
传可变参数
def changeme( 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'
def name_01(name):
print('现在我的名字是:',name)
name = 'test'
print('现在我的名字是:',name) name_01(name)
print('外面我的名字是:',name) 执行结果:
现在我的名字是: AnJing
现在我的名字是: test
外面我的名字是: AnJing
定义在函数内部的变量拥有一个局部作用域,定义在函数外的拥有全局作用域,局部变量只能在其被声明的函数内部访问,而全局变量可以在整个程序范围内访问。调用函数时,所有在函数内声明的变量名称都将被加入到作用域中
函数之间的调用
def jiafa(a,b):
'''加法'''
c = a + b
return c # 返回C def jianfa(c):
'''减法'''
d = 2
s = c -d
print(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传入的内容会变成一个字典
递归
函数之间可以进行调用,那么函数本身也可以进行调用,这种函数我们叫做递归
# 递归函数
def calc(n):
print(n)
if int(n/2) ==0:
return n
return calc(int(n/2)) calc(10) 执行结果:
10
5
2
1
python函数内容的更多相关文章
- python函数参数是值传递还是引用传递(以及变量间复制后是否保持一致):取决于对象内容可变不可变
函数参数传递本质上和变量整体复制一样,只是两个变量分别为形参a和实参b.那么,a=b后,a变了,b值是否跟着变呢?这取决于对象内容可变不可变 首先解释一下,什么是python对象的内容可变不可变? p ...
- python 函数之day3
一 函数的语法及特性 什么是函数? 定义:函数是一个功能通过一组语句的集合,由名字(函数名)将其封装起来的代码块,要想执行这个函数,只要调用其函数名即可. 特性: 减少重复代码 使程序变的可扩展 使程 ...
- Python函数讲解
Python函数
- Python函数参数默认值的陷阱和原理深究"
本文将介绍使用mutable对象作为Python函数参数默认值潜在的危害,以及其实现原理和设计目的 本博客已经迁移至: http://cenalulu.github.io/ 本篇博文已经迁移,阅读全文 ...
- Python开发【第四章】:Python函数剖析
一.Python函数剖析 1.函数的调用顺序 #!/usr/bin/env python # -*- coding:utf-8 -*- #-Author-Lian #函数错误的调用方式 def fun ...
- Python入门笔记(18):Python函数(1):基础部分
一.什么是函数.方法.过程 推荐阅读:http://www.cnblogs.com/snandy/archive/2011/08/29/2153871.html 一般程序设计语言包含两种基本的抽象:过 ...
- 4.python函数基础
一.函数 1.函数简介 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.你已经知道Python提供了许多内建函数,比如print().但 ...
- python字符串内容替换的方法(转载)
python字符串内容替换的方法 时间:2016-03-10 06:30:46来源:网络 导读:python字符串内容替换的方法,包括单个字符替换,使用re正则匹配进行字符串模式查找与替换的方法. ...
- Day03 - Python 函数
1. 函数简介 函数是组织好的,可重复使用的,用来实现单一或相关联功能的代码段. 函数能提高应用的模块性,和代码的重复利用率.Python提供了许多内建函数,比如print():也可以自己创建函数,这 ...
随机推荐
- Android Studio如何配置CURL指令一键打包apk上传至蒲公英
Android Studio如何配置CURL指令一键打包apk上传至蒲公英 第一步:在所需要打包的模块build.gradle文件中加入如下代码: android{ buildTypes { //配置 ...
- Linux系统学习 一、安装,调试
环境 主机: Windows 10 虚拟机: VMware 15 Pro 镜像: 一.安装过程: 然后开启虚拟机 设置主机名 时区 密码 最小安装 等着 重启 登录 二.配置静态IP地址 输入ifco ...
- The Preliminary Contest for ICPC Asia Nanjing 2019
传送门 A. The beautiful values of the palace 题意: 给出一个\(n*n\)的矩阵,并满足\(n\)为奇数,矩阵中的数从右上角开始往下,类似于蛇形填数那样来填充. ...
- 给用户提供就医帮助的安卓APP
经过我们的小组的成员讨论,我们确定了我们小组的项目,即是一款给用户提供就医帮助的安卓APP. 项目计划及功能:计划两个月内团队成员共同开发完成此款APP,此款APP提供预约挂号,名医名院咨询, 就医导 ...
- Codeforces Round #603 (Div. 2) C. Everyone is a Winner! 二分
C. Everyone is a Winner! On the well-known testing system MathForces, a draw of n rating units is ar ...
- Java连载44-静态代码块、实例代码块、继承
一.可以使用static关键字来定义“静态代码块” 1.语法规则 static { java语句: } 2.静态代码块在类加载时执行,并且只执行一次 3.静态代码块在一个类中可以编写多个,并且遵循自上 ...
- Python爬虫教程-实现百度翻译
使用python爬虫实现百度翻译功能python爬虫实现百度翻译: python解释器[模拟浏览器],发送[post请求],传入待[翻译的内容]作为参数,获取[百度翻译的结果] 通过开发者工具,获取发 ...
- 【STM32H7教程】第17章 STM32H7之GPIO的HAL库API
完整教程下载地址:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980 第17章 STM32H7之GPIO的HAL库API ...
- angularjs 一篇文章看懂自定义指令directive
壹 ❀ 引 在angularjs开发中,指令的使用是无处无在的,我们习惯使用指令来拓展HTML:那么如何理解指令呢,你可以把它理解成在DOM元素上运行的函数,它可以帮助我们拓展DOM元素的功能.比如 ...
- python 学习(day1)
初识python python的创始人为吉多*范罗苏姆(Guido van Rossum).1989年圣诞节期间,开发出来的脚本解释程序. python是⼀⻔什么样的语言 python 是一门解释型语 ...