函数-默认参数

参数可以让你的函数更灵活,不能只做死的动作,还可以根据调用时传参的不同来决定函数内部的执行流程。

形参变量:

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

实参:

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

def calc(x,y)

  res = x**y

  return res

X,Y是形参

c = calc(a,b)

print(c)

a,b是实参

默认参数

def stu_register(name,age,country,course)

  print(‘-----注册学生信息-----‘)

  print(‘姓名‘,name)

  print(‘age‘,age)

  print(‘国籍‘, country)

  print(‘课程‘,course)

stu_register(‘王山炮‘,22,‘CN‘,’python——devops‘)

stu_register(‘张叫春‘,21,‘CN‘,’linux‘)

stu_register(‘刘老根‘,25,‘CN‘,’liuux‘)

发现country这个参数基本都是‘CN’

就像我们在网站上注册用户,像国籍这种信息,你不填写,默认就会是中国,这就是通过默认参数实现的,把country变成默认参数非常简单

def stu_register(name,age,course,country=‘cn‘)

原文地址:https://www.cnblogs.com/kingforn/p/10888597.html

时间: 2024-11-11 21:52:29

函数-默认参数的相关文章

【C/C++学院】0813-C与CPP不同以及命名空间简介/函数重载与函数默认参数/泛型auto/Newdelete

C与CPP不同以及命名空间简介 命名空间在软件设计中的作用就是为了实现迭代式开发. 命名空间的别名 #include <iostream> namespace runrunrunrun { int a(10); char *str("gogogo"); namespace run //命名空间的嵌套 { int a(9); } } namespace runrunrunrun //命名空间的拓展 { int y(5); //int a(15);重定义错误 } namespa

C++函数默认参数(转)

在代码中使用到了函数的默认参数,在函数的定义和实现中都填写的默认参数,结果出现了错误: 代码: 1 #ifndef FIRSTPAGE_H 2 #define FIRSTPAGE_H 3 4 #include <QWizardPage> 5 #include "ui_firstdialog.h" 6 7 class FirstPage : public Ui::FirstDialog, public QWizardPage 8 { 9 public: 10 FirstPag

&lt;C++&gt; 函数默认参数 函数重载 引用

一.函数默认参数 1.缺省参数:就是在声明函数的某个参数的时候 给他一个默认值 1 #include<iostream> 2 using namespace std; 3 4 void Show(int a = 1,int b = 2,int c = 3) 5 { 6 cout << a << endl; 7 cout << b << endl; 8 cout << c << endl; 9 } 10 11 int mai

ES6新特性(函数默认参数,箭头函数)

ES6新特性之 函数参数的默认值写法 和 箭头函数. 1.函数参数的默认值 ES5中不能直接为函数的参数指定默认值,只能通过以下的变通方式:   从上面的代码可以看出存在一个问题,当传入的参数为0或者false时,会直接取到后面的值,而不是传入的这个参数值. 那怎么解决呢?对于上图的代码,可以通过判断是否传入了num参数,没有就用默认值:   这种做法还是很麻烦的,而ES6则直接在参数定义里面设置函数参数的默认值,而且不用担心传入参数是0或者false会出错了: 2.箭头函数 箭头函数用 =>

C/C++ Python的函数默认参数

发现C/C++  Python的函数可以使用默认参数,来减少传参时候的参数个数. 但是:这样的默认参数最好是不变对象! #include <stdio.h> #include <string.h> void func_1(int id, char s[], char city[] = "Bejing") { printf("%d, %s, %s",id, s, city); } int main() { func_1(1, "李金旭

python 函数默认参数的小坑

默认参数和可变对象 在执行def语句时,默认参数的值只被解析并保存一次,而不是每次在调用函数的时候.这通常是你想要的那样,但是因为默认值需要在每次调用时都保持同样对象,你在试图改变可变的默认值(mutable defaults)的时候可要小心了.例如,下面的函数中使用一个空的列表作为默认值,然后在之后每一次函数调用的时候改变它的值: 1 2 3 4 5 6 7 8 9 10 11 12 >>> def saver(x=[]):   # 保存一个列表对象 ...     x.append(

函数默认参数

默认参数可以简化函数的调用.设置默认参数时,有几点要注意: 一是必选参数在前,默认参数在后,否则Python的解释器会报错(思考一下为什么默认参数不能放在必选参数前面): 二是如何设置默认参数. 当函数有多个参数时,把变化大的参数放前面,变化小的参数放后面.变化小的参数就可以作为默认参数. 使用默认参数有什么好处?最大的好处是能降低调用函数的难度.

python函数默认参数为可变对象的理解

1.代码在执行的过程中,遇到函数定义,初始化函数生成存储函数名,默认参数初识值,函数地址的函数对象. 2.代码执行不在初始化函数,而是直接执行函数体. 代码实例 这要从函数的特性说起,在 Python 中,函数是第一类对象(function is the first class object),换而言之,函数也是对象,跟整数.字符串一样可以赋值给变量.当做参数传递.还可以作为返回值.函数也有自己的属性,比如函数的名字.函数的默认参数列表. # 函数的名字 >>> func.__name_

C++函数默认参数

C++中允许为函数提供默认参数,又名缺省参数. 使用默认参数时的注意事项: ① 有函数声明(原型)时,默认参数可以放在函数声明或者定义中,但只能放在二者之一 double sqrt(double f = 1.0); //函数声明 double sqrt(double f) //函数定义 { // .... }  ② 没有函数(原型)时,默认参数在函数定义时指定. //没有 函数声明 double sqrt(double f = 1.0) //函数定义 ③ 在具有多个参数的函数中指定默认值时,默认

python函数默认参数陷阱

对于学习python的人都有这样的困惑 def foo(a=[]): a.append(5) return a Python新手希望这个函数总是返回一个只包含一个元素的列表:[5].结果却非常不同,而且非常惊人(对于新手来说): >>> foo() [5] >>> foo() [5, 5] >>> foo() [5, 5, 5] >>> foo() [5, 5, 5, 5] >>> foo() 实际上,这不是设计缺陷