day10 Pyhton学习
一.昨日内容回顾
函数:
定义:对功能或者动作的封装
def 函数名(形参):
函数体
函数名(实参)
return: 返回,当程序运行到return的时候,终止函数的执行
一个函数一定拥有返回值
1.什么都不写,返回None
2.只写return,返回None
3. return 值,返回一个值
4.return 值1,值2,值3...返回多个值
参数:
形参:
在函数声明的位置的变量
1.位置参数
2.默认值参数
顺序:位置>默认值
实参:
在函数调用的地方给出的值
1.位置参数
2.关键字参数
3.混合参数
位置参数>关键字参数
传参:把实参赋值给形参的过程
二.今日主要内容
1.动态传参
形参:
1.位置参数
2.默认值参数
3.动态传参
1 *args: 动态接收位置参数
2.**kwargs:动态接收关键字参数
顺序:位置,*args,,默认值,**kwargs
*,**
def func(*args,**kwargs): 无敌传参
pass
*,** 在形参位置:聚合
在实参位置:打散
实参:
1.位置参数
2.关键字参数
3.混合参数
2.名称空间和作用域
名称空间: 保存名字用的
变量,函数,类
1.内置名称空间:python自己,print,input,len
2.全局名称空间:你写的代码从上到下
3.局部名称空间:函数,类,方法,其他模块,对象
作用域
全局作用域
内置 + 全局
局部作用域
局部名称空间
从局部找全局可以,但是从全局找局部是不可以的
globals() 查看全局作用域中的名字
locals() 查看当前作用域中的名字
3.函数的嵌套(难点)
每一层都会产生独自的名称空间
4. nonlocal global
global : 在局部引入全局的内容,可以升华一个变量为全局变量
nonlocal: 在局部,引入上一层名称空间中的变量,如果没有,继续上一层
day10 Pyhton学习的更多相关文章
- Pyhton学习——Day10
#################################################################################################### ...
- Pyhton学习——Day26
#多态:多态指的是一类事物有多种形态# import abc# class Animal(metaclass = abc.ABCMeta):# 同一类事物:动物# @abc.abstractclass ...
- pyhton 学习
官方学习文档 https://docs.python.org/3/tutorial/
- 20190320_head first pyhton学习笔记之构建发布
1.把代码nester.py放入文件夹nester中,在文件夹中再新建一个setup.py文件,文件内容如下: from distutils.core import setup setup( name ...
- Pyhton学习——Day2
Python开发IDE(工具)Pycharm.eclipse1.循环while 条件 #循环体 #条件为真则执行 #条件为假则执行break用于退出所有循环continue用于退出当前循环 2.Pyc ...
- Pyhton学习——Day28
#上下文协议:文件操作时使用with执行# with open('a.txt','w',encoding='utf-8') as f1:# with语句,为了让一个对象兼容with语句,必须在这个对象 ...
- Pyhton学习——Day27
# hasattr(obj,'name')-->obj.name# getattr(obj,'name',default = 'xxx')--->obj.name# setattr(obj ...
- Pyhton学习——Day25
#面向对象的几个方法#1.静态方法@staticmethod,不能访问类属性,也不能访问实例属性,只是类的工具包#2.类方法:@classmethod,在函数属性前加上类方法,显示为(cls)代表类, ...
- Pyhton学习——Day24
# #面向对象设计:# def dog(name,gender,type):# def jiao(dog):# print('One Dog[%s],wfwfwf'%dog['name'])# def ...
随机推荐
- 20190925-03Redis端口号的由来及单线程加多路IO复用 000 024
- 关于Vue-CLI的那些事儿
Vue CLI是基于Vue.js进行快速发展的完整系统,提供了: 交互式的项目脚手架 实现零配件的原型开发 图形化的创建和管理项目的界面 基本框架的构建: . ├── build/ # webpack ...
- SpringMVC-结果跳转方式
结果跳转方式 目录 结果跳转方式 1. ModelAndView 2. ServletAPI 3. SpringMVC实现 1. 无需视图解析器 2. 使用视图解析器 1. ModelAndView ...
- 深入理解Java中的装箱与拆箱
一.Java数据类型 1.在说装箱与拆箱之前,先说一下Java的基本数据类型,Java从数据类型上可以划分为值类型与引用类型,值类型是四类八种,分别是: 整数型:byte̵,short̵,int̵,l ...
- [剑指Offer]66-构建乘积数组
题目 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1].不能使用除法. 题 ...
- Vue+SpringBoot项目实战(一) 搭建环境
GitHub 地址: https://github.com/dongfanger/sprint-backend https://github.com/dongfanger/sprint-fronten ...
- SpringMVC-12-SSM回顾与总结
12.SSM回顾与总结
- MaaS系统概述
摘要:共享经济正改变着人们的生活方式,城市公共交通系统应该顺应共享经济的潮流进行转型.近年来,西方国家提出的“出行即服务(MaaS)”理念为我国解决日益严重的城市交通拥堵问题提供了新的思路.基于Maa ...
- zookeeper服务端
服务端启动时,就启动线程通过NIO监听网络端口.每个连接都会有一个上下文环境对象,当接收到请求后,会在上下文环境对象中进行处理. 服务端启动线程,监听网络端口,(NIOServerCnxn.Facto ...
- spring framework源码之SpringFactoriesLoader
SpringFactoriesLoader 查询META-INF/spring.factories的properties配置中指定class对应的所有实现类. public abstract clas ...