一、Python中函数的概念

1、python中函数概念

Python中函数是逻辑结构化和过程化的一种编程方法。

2、python中函数定义方法解释

def name(a):

"The function definitions"

a += 1

return a

def:  定义函数的关键字

name:   函数名

():    内可定义形参

"":       文档描述

a += 1: 泛指代码块或程序处理逻辑

return: 定义返回值

调用运行:可以带参数也可以不带

函数名()

3、函数中的参数

1.形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只在函数内部有效。函数调用结束返回主调用函数后则不能再使用该形参变量

2.实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使参数获得确定值

3.位置参数和关键字(标准调用:实参与形参位置一一对应;关键字调用:位置无需固定)

4.默认参数

5.参数组

二、局部变量和全局变量

在子程序中定义的变量称为局部变量,在程序的一开始定义的变量称为全局变量。

全局变量作用域是整个程序,局部变量作用域是定义该变量的子程序。

当全局变量与局部变量同名时:

在定义局部变量的子程序内,局部变量起作用;在其它地方全局变量起作用。

三、函数举例

# def test(x,y,z):#x=1,y=2,z=3

# print(x)

# print(y)

# print(z)

#位置参数,必须一一对应,缺一不行多一也不行

# test(1,2,3)

#关键字参数,无须一一对应,缺一不行多一也不行

# test(y=1,x=3,z=4)

#位置参数必须在关键字参数左边

# test(1,y=2,3)#报错

# test(1,3,y=2)#报错

# test(1,3,z=2)

# test(1,3,z=2,y=4)#报错

# test(z=2,1,3)#报错

# def handle(x,type='mysql'):

# print(x)

# print(type)

# handle('hello')

# handle('hello',type='sqlite')

# handle('hello','sqlite')

# def install(func1=False,func2=True,func3=True):

# pass

#参数组:**字典 *列表

def test(x,*args):

print(x)

print(args)

# test(1)

# test(1,2,3,4,5)

# test(1,{'name':'alex'})

# test(1,['x','y','z'])

# test(1,*['x','y','z'])

# test(1,*('x','y','z'))

# def test(x,**kwargs):

# print(x)

# print(kwargs)

# test(1,y=2,z=3)

# test(1,1,2,2,2,2,2,y=2,z=3)

# test(1,y=2,z=3,z=3)#会报错 :一个参数不能传两个值

def test(x,*args,**kwargs):

print(x)

print(args,args[-1])

print(kwargs,kwargs.get('y'))

# test(1,1,2,1,1,11,1,x=1,y=2,z=3) #报错

# test(1,1,2,1,1,11,1,y=2,z=3)

# test(1,*[1,2,3],**{'y':1})

标签:函数,Python,print,详解,参数,test,报错,def

来源: https://www.cnblogs.com/wangzengyi/p/12191252.html

python def函数报错详解_Python函数详解相关推荐

  1. python打包exe报错编码问题_python打包成exe,但执行exe报错,求解。

    1.pycharm     pycharm-professional-2018.1.4.exe    已安装 64位的. 2.python       python-3.7.0.exe   已安装32 ...

  2. python def函数报错详解_python自定义函数def的应用详解

    这篇文章主要介绍了python自定义函数def的应用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 这里是三岁,来和大家唠唠 ...

  3. 关于vs2010调用python中Py_Initialize函数报错的原因

    程序刚开始运行到Py_Initialize()函数,报错:ImportError: No module named site 如遇到这个函数报错那么基本上就是你没有将相关路径添加到环境变量中. 两个方 ...

  4. 【爆肝更新】Python基础教程:第五章_Python函数

    原创:公众号 数据说话 [爆肝更新]Python基础教程:第五章_Python函数 函数介绍 学习目标: 快速体验一下函数的使用 了解函数的作用. 函数:是组织好的,可重复使用的,用来实现特定功能的代 ...

  5. python读取字符报错:‘utf-8‘ codec can‘t decode byte 0xbd in position 2: invalid start byte

    python读取字符报错:'utf-8' codec can't decode byte 0xbd in position 2: invalid start byte 原因 解决方法 原因 utf-8 ...

  6. 神奇的python(五)之python强制退出报错(异常)解决方法

    简介:python程序在执行时,有时候由于某些模块冲突或者是定时器冲突,会出现很多奇怪的错误,为此我们需要让python程序在退出时免受这些问题的干扰. (1) 常用的信号类型: SIGINT 终止进 ...

  7. python连接数据库mysql失败_解决python连接mysql报错问题

    解决python连接mysql报错问题 最近跑python脚本时遇到一个问题,当sql语句中有中文时,执行python脚本报以下错误: Traceback (most recent call last ...

  8. python3中调用map函数报错map object at 0x000001EF004D97B8

    python3中调用map函数报错<map object at 0x000001EF004D97B8> 在python中这样的一段代码报错: a=map(int,input().split ...

  9. linux的gets函数,Linux 下使用C语言 gets()函数报错

    在Linux下,使用 gets(cmd) 函数报错:warning: the 'gets' function is dangerous and should not be used. 解决办法:采用 ...

  10. 已解决(Python爬虫requests报错)requests.exceptions.ProxyError: HTTPSConnectionPool

    成功解决(Python爬虫requests报错):requests.exceptions.ProxyError: HTTPSConnectionPool 文章目录 报错信息 报错翻译 报错原因 解决方 ...

最新文章

  1. LVS集群---做前端调度器搭建使用
  2. java执行时的两个常见问题(无法加载主类)
  3. 父亲节python代码_python 计算 父亲节
  4. 原生js删除html,原生js操作dom添加删除替换class
  5. GitHub--创建新的分支
  6. RedHat 设置IP、网关、DNS
  7. Django 系列博客(十一)
  8. easyui datagrid 遇到的坑 cannot read property ·· pageNum bug and so on
  9. 在Eclipse中使用JDBC访问MySQL数据库的配置方法
  10. opencv 图像对比度、亮度值调整 和滑动条
  11. 什么是1号信令、7号信令和PRI信令?
  12. 解决mysql闪退问题
  13. 中国视频云千亿市场,阿里云四年稳居“第一”
  14. 图片如何无损放大?图片放大不失真的神器
  15. “滴血查癌”女主角被判入狱11年:公司估值曾达90亿美元 一朝覆灭
  16. mui赋值_mui input用法
  17. 直击文印痛点 中小企业需要这样一台复合机
  18. ATFX:5年期LPR利率大降15基点,USDCNH涨破年内高点
  19. 常见的状态码出现原因200、301、302、403、404、500、503
  20. 复盘2020全球旅游业:新冠疫情巨大冲击下的艰难复苏

热门文章

  1. 删除链表重复节点 python_python无序链表删除重复项的方法
  2. python性能分析工具模块_python——关于Python Profilers性能分析器
  3. 让线程等待10秒_把python程序变成多线程
  4. ios 防止按钮快速点击造成多次响应的避免方法。
  5. 协议类接口 - NAND
  6. 卷积神经网络训练模拟量化实践
  7. 使用HttpClient消费ASP.NET Web API服务
  8. Android Library projetcts cannot be exported.
  9. elasticsearch运维实战之2 - 系统性能调优
  10. JS面向对象(二)——构造函数的继承