python开发_函数的参数传递
在这个用例中,我们要讨论的是关于函数的传参问题
我所使用的python版本为3.3.2
对于函数:
def fun(arg):
print(arg) def main():
fun('hello,Hongten') if __name__ == '__main__':
main()
当我们传递一个参数给fun()函数,即可打印出传递的参数值
信息。
这里打印的信息为:
hello,Hongten
对于下面的用例:
def fun(a=1, b=None, c=None, *args):
print('{0},{1},{2},{3}'.format(a, b, c, args)) def main():
fun(a='one')
fun('one') if __name__ == '__main__':
main()
当传递的参数为:fun(a='one')和fun('one')这样的传参都是把值复制给参数a,所有两种传参的效果是一样的:
one,None,None,()
one,None,None,()
当然我们也可以给参数:b,c,*args赋值
如:
def fun(a=1, b=None, c=None, *args):
print('{0},{1},{2},{3}'.format(a, b, c, args)) def main():
fun('one',1,2,('hongten')) if __name__ == '__main__':
main()
这样我们就给参数:b,c,args赋上了值
运行效果:
one,1,2,('hongten',)
在上面的列子中,我们不能绕开参数*args前面的参数a,b,c给*args复制:
如:
def fun(a=1, b=None, c=None, *args):
print('{0},{1},{2},{3}'.format(a, b, c, args)) def main():
fun(args=('hongten')) if __name__ == '__main__':
main()
运行效果:
Traceback (most recent call last):
File "E:/Python33/python_workspace/test_fun.py", line 21, in <module>
main()
File "E:/Python33/python_workspace/test_fun.py", line 18, in main
fun(args=('hongten'))
TypeError: fun() got an unexpected keyword argument 'args'
但是对于参数:a,b,c来说,是可以使用这样的方式进行赋值
如:
def fun(a=1, b=None, c=None, *args):
print('{0},{1},{2},{3}'.format(a, b, c, args)) def main():
fun(c=('hongten'), b=2, a=[1,2,3]) if __name__ == '__main__':
main()
运行效果:
[1, 2, 3],2,hongten,()
python开发_函数的参数传递的更多相关文章
- python开发之函数
转:https://www.tuicool.com/wx/vEVrqeR 06 python开发之函数 博客园精华区12-12 20:56 06 python开发之函数 目录 6.2 调用函数与函数返 ...
- python开发_++i,i += 1的区分
python开发_++i,i += 1的区分 在很多编程语言(C/C++,Java等)中我们都会碰到这样的语法: 1 int i = 0; 2 ++ i; // -- i; 这样的语法在上述编程语言中 ...
- 06 python开发之函数
06 python开发之函数 目录 06 python开发之函数 6 函数 6.1 基本使用 6.1.1 基本概念 6.1.2 定义函数 6.2 调用函数与函数返回值 6.2.1 调用函数三种形式 6 ...
- python开发_搜索本地文件信息写入文件
功能:#在指定的盘符,如D盘,搜索出与用户给定后缀名(如:jpg,png)相关的文件 #然后把搜索出来的信息(相关文件的绝对路径),存放到用户指定的 #文件(如果文件不存在,则建立相应的文件)中 之前 ...
- python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheetahcherrypy:一个WEB frameworkctype ...
- Python基础_函数2
在介绍完函数的大体概念如定义.传参.作用域之后,本节主要介绍函数的几个细节部分. 一. print()函数与return的区别. 相同点:print与return都是向用户在输出界面上展示结果 不同点 ...
- python开发初识函数:函数定义,返回值,参数
一,函数的定义 1,函数mylen叫做函数名 #函数名 #必须由字母下划线数字组成,不能是关键字,不能是数字开头 #函数名还是要有一定的意义能够简单说明函数的功能 2,def是关键字 (define) ...
- Python练习_函数进阶_day10
1. 1.作业 1,写函数,接收n个数字,求这些参数数字的和.(动态传参) 2,读代码,回答:代码中,打印出来的值a,b,c分别是什么?为什么? a=10 b=20 def test5(a,b): p ...
- python开发_大小写转换,首字母大写,去除特殊字符
这篇blog主要是总结我们在平常开发过程中对字符串的一些操作: #字母大小写转换 #首字母转大写 #去除字符串中特殊字符(如:'_','.',',',';'),然后再把去除后的字符串连接起来 #去除' ...
随机推荐
- Python基础之多线程事件Event
import threading,time class Boss(threading.Thread): def run(self): print("BOSS:伙计们今晚上加班到22:00&q ...
- python socket编程和黏包问题
一.基于TCP的socket tcp是基于链接的,必须先启动服务端,然后再启动客户端去链接服务端,有顺序,不重复,可靠.不会被加上数据边界. server端 import socket sk = so ...
- 创建第一个MySQL数据库earth及表area
Windows 10家庭中文版,MySQL 5.7.20 for Win 64,2018-05-08 数据库earth描述: 用于记录地球上的事物,一期包含地理区域信息——表area. 字符集编码:u ...
- spring boot jpa 多数据源配置
在实际项目中往往会使用2个数据源,这个时候就需要做额外的配置了.下面的配置在2.0.1.RELEASE 测试通过 1.配置文件 配置两个数据源 spring.datasource.url=jdbc:m ...
- java基础81 jsp的内置对象(网页知识)
1.什么是内置对象? 在jsp开发中,会频繁使用到一些对象,如:HttpSession,ServletContext,HttpServletRequest. 如果每次使用这些对象时,都要去创 ...
- shell中的特殊符号总结
在shell中常用的特殊符号罗列如下: # ; ;; . , / \\ 'string'| ! $ ${} $? $$ $* \"string\"* ** ...
- Jackson jsonToBean 忽略 Bean中不存在属性的匹配。
1. jsonToBean时,json中有的字段,bean中没有 无法匹配时,忽略此字段,不抛出异常(默认是抛出异常的) 方案一(局部):在class上加 @JsonIgnoreProperties( ...
- 5 个非常有用的 Laravel Blade 指令,你用过哪些?
接下来我将带大家认识下五个 Laravel Blade 指令,这些指令将让你在解决特定问题时如虎添翼.如果你是刚接触 Laravel 的用户,这些小技巧能带你认识到 Laravel Blade 模板引 ...
- 20155225 实验一《Java开发环境的熟悉》实验报告
20155225 实验一<Java开发环境的熟悉>实验报告 一.命令行下Java程序的开发 按照老师提供的步骤,运行程序如下: 二.IDEA下Java程序开发.调试 设置条件断点如下: 三 ...
- ubuntu16.04 安装 caffe cuda 相关流程
不多说了,经历了很多莫名其妙的错误最后终于安装好了,直接放安装脚本: #!/bin/bash #安装时要注意有些库可能安装失败以及安装caffe有和protobuf相关错误时可能需要重新对protob ...