python基础一 day9 函数升阶(1)
函数
可读性强 复用性强
def 函数名():
函数体
return 返回值
所有的函数 只定义不调用就一定不执行
先定义后调用 函数名() #不接收返回值
返回值 = 函数名() #接收返回值 返回值
没有返回值 :默认返回None
不写return:函数内的代码执行完毕自动结束
只写return:结束一个函数
return None
返回一个值 :结束了函数且返回一个值,可以是任意的值
返回多个值 : 多个值之间用逗号隔开,接收的时候可以用一个变量接收(元祖),也可以用等量的多个变量接收 def f(a):
return '栗子' ret = f('苹果')
print(f('苹果')) 参数
形参 定义函数的时候
位置参数 :必须传
*args :动态参数 可以接收任意多个按位置传入的参数,得到的args是一个元祖,kwargs是一个字典
默认参数 : 可以不传 —— 陷阱
**kwargs : 动态参数 可以接受任意多个按关键字传入的参数
实参 调用函数的时候
按照位置传参数
按照关键字传参数
可以混用 位置参数必须在关键字传参之前
不能对一个参数重复赋值

def 娃哈哈(*args):
print(args) # 娃哈哈(1,2,3,4)
l = [1,2,3,4]
娃哈哈(*l) 默认参数陷阱:
def qqxing(k,l = {}):
# l.append(1)
l[k] = 'v'
print(l)
qqxing(1) #[1]
qqxing(2) #[1,1]
qqxing(3) #[1,1,1]
def s(ss=[]):
ss.append(1)
print(ss)
s()
s([])
s()
结果:
[1]
[1]
[1, 1]
# 如果默认参数的值是一个可变数据类型,
# 那么每一次调用函数的时候,
# 如果不传值就公用这个数据类型的资源
python基础一 day9 函数升阶(1)的更多相关文章
- python基础一 day9 函数升阶(2)
def max(a,b): return a if a>b else bprint(max(1, 2)) # 函数进阶# a = 1# def func():# print(a)# func() ...
- python基础一 day9 函数升阶(3)
局部命名空间一般之间是独立,局部命名空间是调用函数时生成的函数的名字指向它所在的地址局部不会对全局产生影响,除非加global.# def max(a,b):# return a if a>b ...
- python基础学习Day9 函数的初识,实参、形参、
1.函数 def my_len(): l = [,,,,,,] count = for i in l: count += print(count) my_len() 定义的my_len()方法时,其结 ...
- python基础——内置函数
python基础--内置函数 一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...
- python学习第五讲,python基础语法之函数语法,与Import导入模块.
目录 python学习第五讲,python基础语法之函数语法,与Import导入模块. 一丶函数简介 1.函数语法定义 2.函数的调用 3.函数的文档注释 4.函数的参数 5.函数的形参跟实参 6.函 ...
- 自学Python之路-Python基础+模块+面向对象+函数
自学Python之路-Python基础+模块+面向对象+函数 自学Python之路[第一回]:初识Python 1.1 自学Python1.1-简介 1.2 自学Python1.2-环境的 ...
- python 基础 内置函数 和lambda表达式
1.把任意数值转化为字符串有两种方法. (1)str()用于将数值转化为易于人读的形式.print(str("我是中国人"))>>>我是中国人 (2)repr() ...
- Python基础(协程函数、内置函数、递归、模块和包)-day05
写在前面 上课第五天,打卡: 凭着爱,再回首: 一.协程函数(生成器:yield的表达式形式) 1.yield 的语句形式: yield 1 - 这种方式在 Python基础(函数部分)-day04 ...
- 『Python基础-13』函数 Function
这篇笔记记录的知识点: 函数的基本概念 自定义函数 函数的几种参数 编程的三种方式: 1.OOP 面向对象编程,万物皆对象,以class为主,抽象化 2.POP 面向过程编程,万事皆过程,def定义过 ...
随机推荐
- 量子纠缠2——CHSH不等式
问题 有Alice和Bob两个人,随机给他们两个数x和y(0或1),然后A和B根据他们得到数(x和y)给两个个数a和b(0或1). 规则如下: 如果输入的x和y都是1,那么,Alice和Bob给出不一 ...
- A - Two Substrings
Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description You ar ...
- PHP empty()函数使用需要注意
在 PHP 5.5 之前,empty() 仅支持变量:任何其他东西将会导致一个解析错误.换言之,下列代码不会生效: empty(trim($name)). 作为替代,应该使用trim($name) = ...
- 五个demo案例带你学习PHP反序列化漏洞
一直想研究下php反序列化漏洞,花了几天时间做了个简单的了解..写篇文章记录下. 直白点就是围绕着serialize和unserialize两个函数. 一个用于序列化,一个用于反序列化. 我们通常把字 ...
- jQuery中$.getJSON
$.getJSON $.getJSON()是专门为ajax获取json数据而设置的,并且支持跨域调用,其语法的格式为: $.getJSON( url, //请求URL [data], //传参,可选参 ...
- 害死人不偿命的(3n+1)猜想 (15)
#include <iostream> #include <algorithm> using namespace std; int main(){ int n; while ( ...
- 跟我一起玩Win32开发(5):具有单选标记的菜单
帅哥们,美女们,下午好,我又来误人子弟,请做好准备. 今天,我们的目的是,想要实现下图中的这种菜单效果. 就是一种类似单选按钮的菜单,多个菜单项中,同时只有一个会被选中. 首先,我们在资源编辑器中,设 ...
- Building Forest CodeForces - 195E
Building Forest CodeForces - 195E 这题意真是难懂啊...话说"An oriented weighted forest is an acyclic weigh ...
- 牛客国庆集训派对Day_1~3
Day_1 A.Tobaku Mokushiroku Kaiji 题目描述 Kaiji正在与另外一人玩石头剪刀布.双方各有一些代表石头.剪刀.布的卡牌,每局两人各出一张卡牌,根据卡牌的内容决定这一局的 ...
- Closures闭包
//: Playground - noun: a place where people can play import UIKit /* 闭包 Swift ====> Closures Ruby ...