python语言中函数的传参与基本练习

首先说明一下在编写Python脚本时,如何在里面使用中文

在脚本的开头可以加上如下代码段:

# _*_ coding:utf-8 _*_              其效果和#coding=utf-8 是一样的

下面总结一下在学习Python定义函数时如何传参的问题:

1、首先是位置传参以及默认值:

定义一个函数func_name,其中形式参数为arg,arg1,arg2,arg3,arg4

在这几个参数中arg3和arg4是有默认值的,如果调用函数时只给了三个值,那后面的arg3和arg4就会使用默认值,当给出的参数是四个或五个时,则一次按位置赋给相应的形参进行调用

下面是执行程序的结果:

PS:位置传参最主要的是参数个数要一致,而且顺序很重要,相应的值赋给相应位置的形参

关键字传参:

在这里也可以使用关键字传参,即在调用函数时指定形参和哪个实参相对应,这时位置就不是那么重要了,但位置传参和关键字传参同时有的话,还是要将位置传参放在前面定义,这在定义函数时就要注意,否则在调用函数时造成不必要的麻烦。

2、收集剩余多余参数和收集多余字典参数

定义一个函数,可以通过正常的只传入值或key-value的方法调用。但是如果第一个时参数传入的是key-value的方法,那么后面的必须都是key-value方法,如果第一个不是,那么后面的可以根据情况再传入值就可以了。

下面是一个具体的实例程序:

在上面的函数func_name中,它所指定的参数是不定的,可能是0个,也可能是n个,所以使用*arg收集剩余所有参数

在调用函数时,如果参数是一个列表,使用*Li其实就是解列表再将列表中的每个元素依次传参,一般使用*arg进行参数收集;如果不使用*Li,直接调用Li,这是将整个列表作为一个整体传入

**arg是用来收集key-value类的参数的,这类参数指定定义在函数参数的最后面,在实际调用函数时,可以使用‘key‘=‘value‘或{‘key1‘=‘value1‘, ‘key2‘=‘value2‘}的形式来进行传值调用

函数cat的定义是为了将各种参数都放在一起,让大家能够看到效果,以及在调用cat函数时是怎样传递参数的

下面是函数的输出结果,根据结果对比可以感受一下不同传参调用的区别:

3、从标准输入获取变量,以及在语句中替换变量,以及字典传参在函数体里的应用:

raw_input是用来获取标准输入的值赋给变量,还可以有提示信息

在Python中在语句中加入一个变量使用 % 进行替换进去

在函数定义和调用时,key-value类字典传参时一定要注意都需要前面的两个*号,函数收集后以字典进行保存,传进去以后在调用时就会应道相应的字典方法,这里不再赘述;

下面是程序运行的结果,可以根据结果进行对比,看传参等具体效果如何:

4、函数的返回值

在函数中最重要的就是其返回值,在调用函数时就是要用到其返回值的结果去进行下一步操作处理,下面是一个简单地小例子:

结果如下:

5、用函数实现一个阶乘(递归和自定义)

下面是输出结果,两个函数实现结果一致:

6、下面是一个函数的调用,以及函数名和函数结果赋值有何异同的比较,在一个函数中去调用另一个函数的返回值

下面是输出结果,对比脚本可以看出区别与作用

7、下面是实现了一些内置函数的基本功能,都是一些简单练习,供大家参考学习,请多多提出宝贵意见

结果如下:

上面是本人的一些小结与参考练习,以供大家学习,请多多提出宝贵意见!!!

时间: 2024-10-28 15:01:10

python语言中函数的传参与基本练习的相关文章

C语言中函数和指针的参数传递

最近写二叉树的数据结构实验,想用一个没有返回值的函数来创建一个树,发现这个树就是建立不起来,那么我就用这个例子讨论一下c语言中指针作为形参的函数中传递中隐藏的东西. 大家知道C++中有引用的概念,两个数据引用同一个数据,那么更改任意的一个都相当于更改了本体,那么另一个数据所对应的值也会改变,可是C中是没有这个概念的.所以就产生了一些东西.和我们本来想的有差别. 一.明确C语言中函数的入口: C语言中函数的形参负责接收外部数据,那么数据究竟怎么进入函数的呢,其实我们在函数体内操作的形参只是传递进来

Python语言中循环引用(import)失败的解决方案

最近在开发智能家居项目hestia-rpi项目中,由于代码结构层级划分不合理,导致了循环引用(import)module失败的问题,错误如下: 1 2 3 4 5 6 7 8 9 10 Traceback (most recent call last):   File "./main.py", line 8, in <module>     from hestiarpi.library.server import server   File

06 python语言中的进制转换

python语言中的进制转换 1.python语言中支持哪些进制,以及这些进制的表示法2.如何在不同的进制之间进行转换 //py 语言支持4种进制 十进制 0-9 // 123 默认就是 十进制 十六进制 0-9 A-F //0x 0xFF12E 0x 开头的就是 十六进制二进制 //0b 0b11010101 //这里用0B 也是可以的但是业内都是用小写的0b表示 表示二进制 八进制 //0o 0o4324 // 0o 开头的就是 八进制 除了十进制外,其他进制数字前面都是0 转换 主要是十进

从头开始-05.C语言中函数

函数: 完成特定功能代码段 特点:函数只有调用的时候才会执行 定义格式:返回值类型 函数名称(形参类型 形参名称,...){ 语句; ...  } 函数参数 形式参数:在定义函数的时候,函数名后面小括号中的参数 实际参数:在函数调用的时候,函数名后面小括号中的参数 注意点: 形参与实参必须一一对应 实参与形参的类型必须一致 基本数据类型作为函数参数传递是值传递 组作为函数参数传递是地址传递 指针作为函数参数传递是地址传递 结构体作为函数参数传递是值传递 返回值: return 作用: 1.结束函

C语言中函数返回数组

#include "stdio.h"/*int* set(int a,int *c){ int *b; b=malloc(sizeof(int)*3); c[0]=a; c[1]=1+a; c[2]=2+a; b[0]=13; b[1]=14; b[2]=15; return b;}*/char *set(void){ char *buf; buf=malloc(sizeof(char)*3);//创建内存区 buf[0]=0x30; buf[1]=0x31; buf[2]=0x32;

Python语言中的关键字(自己做的读书笔记)

电脑配置:联想笔记本电脑 windows8系统 Python版本:2.7.8 本文章撰写时间:2015.1.1 作者:陈东陈 阅读说明: 1.本文都是先解释,后放图片: 2.文中斜体部分要么为需要输入的内容,要么为电脑本来的一些功能名称 python语言中的关键词: and del from not while as elif global or with assert if else pass yield break except import  print class exec in rai

C语言中函数的分类

在C语言中函数被分为两类,一类是系统提供的标准函数,又称库函数.标准函数由系统定义,在程序中可以直接调用,例如:printf(),scanf()等.另一类是用户自己定义的函数. 用户自己定义函数要遵循一定的规则,而且定义函数它一般的格式如下: 函数类型 函数名称(形式参数表){ 说明语句序列 可执行语句序列 } 通常函数类型与函数的返回值的类型一致,函数名称的命名规则同变量命名完全一样.形式参数表是用于调用函数和被调用函数之间的数据传递,因此它也需要进行类型说明. 例如: #include <s

python基础知识 05 python语言中的大整数

第五课 python语言中的大整数 java中的int 最大可以处理 2^31 -1(2147483647) 最小呢-2^31 (-2147483647)但是在Java中可以使用BigInteger 来处理无线大的数 print(2 ** 60) 结果为 1152921504606846976 print(2 ** 600) 41495155688809929585124078636911611510124462322424368999956573296906528114129081463997

main函数的传参与返回

1.谁给main函数传参(1)调用main函数所在的程序的它的父进程给main函数传参,并且接收main的返回值.2.为什么需要给main函数传参(1)首先,main函数不传参是可以的,也就是说父进程调用子程序并且给子程序传参不是必须的. int main(void)这种形式就表示我们认为不必要给main传参.(2)有时候我们希望程序有一种灵活性,所以选择在执行程序时通过传参来控制程序中的运行,达到不需要重新编译程序就可以改变程序运行结果的效果. 3.表面上:给main传参是怎样实现的?(1)给