python10day
昨日回顾
- 函数是以功能为导向,减少重复代码、增强可读性。
- 函数的调用:func()、写几次执行几次
- 函数的返回值return
- 终止函数
- return单个值
- return多个值,按元组返回
- 函数的参数:
- 实参角度:位置参数、关键字参数、混合参数
- 形参角度:位置参数、默认值参数
今日内容
如何在工作中不让别人看出你是培训出来的?
- 第一天环境安装等等,小白各种问。
- 项目需求不清晰,也不敢问。
- 需要学会自主学习,自己解决问题的能力。
形参角度:
- 万能参数
#万能参数:*args,约定俗成args
#函数定义时,*代表聚合,将所有的位置参数聚合成一个元组,赋值给agrs这个参数
def eat(*args):
print('%s,%s'%args)
eat('xx','aa') #练习:
#使用*args写函数,计算传入函数数字的和。
def sumnum(*args):
count=0
for i in args:
count += i
print(count)
sumnum(1,2,3,4,5)# **kwargs接收所有关键字参数
# 函数的定义时: **将所有的关键字参数聚合到一个字典中,将字典赋值给了kwargs
*的魔性用法
在定义时聚合,在函数调用时打散,比如调用时一个参数是一个list类型,会打散list
func(*[1,2,3],*[22,33])
仅限关键字参数(了解)
形参角度第四个参数,位置应在
#其中的c就是仅限关键字参数,必须传值,不然报错
def func(a,b,*args,sex='男',c,**kwargs):
形参的最终顺序。
- 位置参数、*args、关键字参数、仅限关键字参数、**kwargs
名称空间:
全局名称空间,局部……
- 全局:内部变量一个.py文件都能用
- 局部:临时开辟的空间,内部变量只当前定义的函数内才能用
- 内置名称空间:python源码给提供的,比如print等。
加载顺序、取值顺序
- 1.点击运行,内置名称空间加载到内存
- 2.全局
- 3.局部
- 取值时:就近原则,局部-->全局-->内置,不可逆
作用域
- 全局作用域:内置名称空间 全局名称空间
- 局部作用域:局部名称空间
data='周六'
def func():
a=666
print(data)
print(a)
#报错:局部作用域可以引用全局作用域,但不能改变。全局作用域不能引用局部的变量,会报错。
这个图就会报错。因为局部没有新定义count,而改变了全局的count。
局部作用域不能改变全局作用域的变量,当python解释器读取到局部作用域时,发现对变量进行的修改操作,解释器会认为你在局部定义了局部变量,而在局部没有找到时,就会报错。
函数的嵌套(高阶函数)
内置函数globals、locals
'''
本文件研究内置函数globals,locals
''' a=1
b=2
def func():
name='henri'
age=23
print(globals()) #返回一个字典,全局作用域的所有内容
print(locals()) #返回一个字典,当前作用域的所有内容
今日总结
- 参数:万能参数,仅限关键字参数,参数的顺序,*的使用:聚合、打散
- 名称空间,作用域,取值顺序,加载顺序
- globals、locals
- 高阶函数:执行顺序
- all重点
明天学习
- 函数名的运用
- 迭代器
代码总行数1637+35=1672行
python10day的更多相关文章
随机推荐
- request参数获取,参数校验,参数处理
需求: 1.post接口,需要在过滤器中进行参数校验,校验通过之后再执行方法 2.原有代码中使用x-www-form-urlencoded传参,新需求要使用json格式 3.原有代码校验过滤器使用Se ...
- CS5265低成本替代RTD2172|CS5265替代兼容RTD2172|替代RTD2172
瑞昱RTD2172是TYPEC转HDMI4K60HZ音视频数据转换器芯片.CS5265可以替代兼容RTD2172,除了实现同等的转换功能外且整体方案成本和性价比方面比RTD2172要高,且外围器件较少 ...
- C++基础之参数重载
目录 缺省参数 注意事项 缺省参数 缺省参数是在函数定义时或者声明时给参数一个默认值,当调用参数时没有给函数参数,使用默认的函数参数. 先简单的写几行代码认识一下缺省参数 以上三段代码分别位于三个文件 ...
- Java面向对象笔记 • 【第8章 内部类和泛型】
全部章节 >>>> 本章目录 8.1 内部类 8.1.1 内部类概述 8.1.2 内部类使用 8.1.3 实践练习 8.2 静态内部类 8.2.1 静态内部类的实现 8.2 ...
- Xstart远程连接Linux图形用户界面
目标: 在自己的Windows桌面打开Linux的firefox浏览器 工具: Windows: Xmanager的Xstart工具 Linux: xterm,firefox 说明: 使用Xstart ...
- Java常用的几种设计模式
本来想写点spring相关的东西的,想来想去,先写点设计模式的东西吧 什么是设计模式?套用百度百科的话解释吧 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设 ...
- MySQL主从复制作用和配置
一.复制概述 Mysql内建的复制功能是构建大型,高性能应用程序的基础.将Mysql的数据分布到多个系统上去,这种分布的机制,是通过将Mysql的某一台主机的数据复制到其它主机(slaves)上,并重 ...
- Linux上天之路(四)之Linux界面介绍
Linux界面 linux为使用者提供了图形界面和文本界面,但是很多操作依然需要文本界面的操作才能完成,很多人使用起来比较蹩脚,又因为linux平台的个人应用APP相对较少,使得大家的个人PC安装了l ...
- Python多环境管理神器(pyenv)
前面我们已经介绍了,python中两种最基础的虚拟环境管理工具,venv和virtualenv,其中virtualenv可以和virtualenvwrapper配合使用.详情请参考:https://w ...
- c++中构造函数与析构函数
构造函数与析构函数 构造函数与析构函数1. 构造函数2. 析构函数3. 拷贝函数4. 总结 在c++中有2个特殊的函数:构造函数和析构函数,它们分别对类对象进行初始化和清理工作. 1. 构造函数 构造 ...