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 ...
随机推荐
- leetcode刷题-70爬楼梯
题目 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 思路 最开始使用的是回溯的方法,但是时间效 ...
- Mybatis项目构建和CURD操作
Mybatis入门 一.使用SqlSession对象创建Dao接口代理对象进行持久化操作 1.使用maven构建java项目 2.修改pom.xml配置,添加所需jar包坐标 <?xml ver ...
- IDEA里如何引入JQuery
HTML页面的JavaScript里一般可以直接使用类似:<script src="js/jquery.js"></script>语句可以直接引入,但是会遇 ...
- .NET Core加解密实战系列之——对称加密算法
简介 加解密现状,编写此系列文章的背景: 需要考虑系统环境兼容性问题(Linux.Windows) 语言互通问题(如C#.Java等)(加解密本质上没有语言之分,所以原则上不存在互通性问题) 网上资料 ...
- 真正的解决IDEA中Tomcat控制台乱码的问题
真正的解决IDEA中Tomcat控制台乱码的问题 解决方案一 网上看到一个真正的解决方案: 首先要分清是tomcat日志编码,与idea的日志显示控制台编码 tomcat日志编码:当在cmd中启动To ...
- Burp Suite抓包使用步骤
Burp Suite抓包工具的操作步骤见安装步骤那篇博客 检查是否存在漏洞,就看拦截之后修改过的数据是否写进了数据库 举例一.上传文件 1.打开Burp.调整Proxy-Intercept-Inter ...
- 云计算openstack核心组件——keystone身份认证服务(5)
一.Keystone介绍: keystone 是OpenStack的组件之一,用于为OpenStack家族中的其它组件成员提供统一的认证服务,包括身份验证.令牌的发放和校验.服务列表.用户 ...
- java 判断jsonObject 对象为null的天坑问题
jsonObject = {"mmbRetrieveBookingResponse":{"bookingData":null,"isAfterTran ...
- 在移动硬盘上安装Linux Mint19记录
前要: 有一12年买的手提电脑,打算在其上直接装linux部署分布式爬虫顺便学linux 唔,开机吧--然开机动画没有,只有间断有序的悲鸣,一查,主板逝世 卖给收买旧电脑估计不到20-不能忍,想了想不 ...
- 【CF1425B】 Blue and Red of Our Faculty! 题解
原题链接 简要翻译: 有一个连通图,A和B同时从点1出发,沿不同的路径前进.原本,图上的每一条边都是灰色的.A将经过的边涂成红色,B将经过的边涂成蓝色的.每个回合每个人只能走灰色的边.当某个回合中不存 ...