【python之路15】深浅拷贝及函数
一、集合数据类型(set):无序不重复的集合,交集、并集等功能
二、三元运算符
三、深浅拷贝
1)字符串和数字:深浅内存地址都一样
2)其他:浅拷贝:仅复制最外面第一层
- 深拷贝:除了最内层其他均拷贝
四、函数:
1)创建:def 函数名(参数)
2)返回值
- return 返回值,如果不指定return则默认返回None
- 一旦遇到return后面的代码不再执行
3)参数
- 形参、实参
- 普通参数数量要一致并且一一对应
- 指定参数,执行参数的时候指定形参=实参
- 指定参数的默认值,默认值一定要放在参数的尾部
- 动态参数 *args **args,调用的时候可以使用*实参列表,这样相当于循环实参加入元组,**字典,可以直接传输字典不需要(key1=123,key2=456)
def f1(*args):
print(args) f1(11,22,33)
#打印:(11, 22, 33)
def f1(**kwargs):
print(kwargs) f1(k1=11,k2=22)
#打印输出:{'k1': 11, 'k2': 22}
def f1(*args,**kwargs):
print(args,kwargs) f1(11,22,33,k1=11,k2=22)
#打印输出:(11, 22, 33) {'k1': 11, 'k2': 22}
def f1(n,*args,**kwargs):
print(n,args,kwargs) f1(11,22,33,k1=11,k2=22)
#打印输出:11 (22, 33) {'k1': 11, 'k2': 22}
def f1(*args):
print(args) n = [11,22,33]
f1(n)
#打印输出:([11, 22, 33],)
f1(*n)
#打印输出:(11, 22, 33)
def f1(**kwargs):
print(kwargs) n = {"k1":11,"k2":22}
#f1(n)
#报错
f1(**n)
#打印输出:{'k1': 11, 'k2': 22}
4)在python中传参数时,对列表、元组、字典类型传输的是引用
def func1(args):
args.append() li = [,,]
func1(li)
print(li) #输出[, , , ]


五、局部变量和全部变量
1)全局变量用大写,局部变量用小写
2)全局变量在函数内部可以使用,但不能修改,如果要修改,那么要加global 变量名
name='张三'
def f1():
name="李四" #不会修改全局变量,会在函数内部新建一个变量
return(name) def f2():
return ("我的名字是" + name) #可以使用全局变量 def f3():
global name #加上global之后下面可以修改全局变量的值,加上global后相当于把name变成全局变量,如果外层没有name则声明全局变量name,如果有则引入全局变量name
name = "王五"
return name print(f1()) #李四
print(f2()) #我的名字是张三
print(f3()) #王五
def func1():
a = 10
def func2():
a = 20
print(a)
func2()
print(a) func1() #打印结果:20 10
def func1():
a = 10
def func2():
nonlocal a #不作为局部变量,向上层找,但不能超出局部变量范围,不会找到全局变量
a = 20
print(a)
func2()
print(a) func1() #打印结果:20 20
函数:globals() 打印全局变量
locals() 打印局部变量 ,放在全局打印的与globals一样,放在函数内则只打印函数内部的变量
六、判断是某个实例属于哪个类
st = 'abdc'
#第二个参数可以是元组,例如判断st是字符串或字典或列表,
#则可以写为:bol = isinstance(st,(str,dict,list)
bol = isinstance(st,str)
print(bol) #返回True,说明st是字符串类型
def func1():
a = 10
def func2():
nonlocal a #不作为局部变量,向上层找
a = 20
print(a)
func2()
print(a) func1() #打印结果:20 20
【python之路15】深浅拷贝及函数的更多相关文章
- python之路(三)-深浅拷贝
深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层.所 ...
- [Python笔记]第三篇:深浅拷贝、函数
本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import ...
- Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数
一.上节课的重点回顾: 1.类名加括号其实就是执行类的__init__方法: 2.int a.创建方式 n1 = 123 #根据int类创建了一个对象 n2 = int(123) #根据int类创建一 ...
- Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器
目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...
- python基础(7)--深浅拷贝、函数
1.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝.深拷贝 Python数据类型可氛围基本数据类型包括整型.字符串.布尔及None等,还有一种由基本数据类型作为最基 ...
- python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)
s12-20160116-day03 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- Python全栈开发之3、数据类型set补充、深浅拷贝与函数
转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5466082.html 一.基本数据类型补充 set是一个无序而且不重复的集合,有些类似于数学中的集合,也可以求交集, ...
- Python collection模块与深浅拷贝
collection模块是对Python的通用内置容器:字典.列表.元组和集合的扩展,它包含一些专业的容器数据类型: Counter(计数器):dict子类,用于计算可哈希性对象的个数. Ordere ...
- Python-Day3知识点——深浅拷贝、函数基本定义、内置函数
一.深浅拷贝 import copy #浅拷贝 n1={'k1':'wu','k2':123,'k3':['carl',852]} n2=n1 n3=copy.copy(n1) print(id(n1 ...
随机推荐
- JEECG 4.0 版本发布,JAVA快速开发平台
JEECG 4.0 版本发布,系统全面优化升级,更快,更稳定! 导读 ⊙平台性能优化,系统更稳定,速度闪电般提升 ...
- PHP实现图片的汉明码提取与降维
作者感言:数学不好,遇到算法问题分分钟狗带,毫无转寰的余地-_-||| 最近心血来潮,看了相似图片的搜索,最最最初级的方法即提取汉明码,之后匹配汉明距离.当然,在数以亿计的汉明码中,要筛出需要的图片, ...
- keil mdk 无法添加对应容量的芯片
如果包已经安装好了 贴到 回到mdk,完事儿
- MyBatis - Mapper动态代理开发
Mapper接口开发方法编写Mapper接口(相当于Dao接口),由Mybatis框架根据接口定义创建接口的动态代理对象. Mapper接口开发方式是基于入门程序的基础上,对 控制程序 进行分层开发, ...
- js的事件的三个阶段,事件委托的原理
DOM2级事件规定的事件流的三个阶段:捕获,目标,冒泡(IE8以及更早版本不支持DOM事件流); 事件流: IE:IE事件流是事件冒泡流 Netscape事件流是事件捕获流 IE事件流 叫做事件冒泡 ...
- VC窗体透明而控件不透明以及Static文本背景透明方法
出自http://my.oschina.net/ypimgt/blog/60951 优点: 1.Dialog 窗体完全透明. 2. 窗体上的控件不透明. DC 绘制的图形不透明. ...
- AutoMapper简介
先说说DTO DTO是个什么东东? DTO(Data Transfer Object)就是数据传输对象,说白了就是一个对象,只不过里边全是数据而已. 为什么要用DTO? 1.DTO更注重数据,对领域对 ...
- Odoo 新 API 概述
__all__ = [ 'Environment', 'Meta', 'guess', 'noguess', 'model', 'multi', 'one', 'cr', 'cr_context', ...
- HZOI20190823 C magic
数论板子合集... 我们要求: $N^{\sum\limits_{i=1}^{N}[gcd(i,N)==1]C_{n}^{i}}mod p$ 其中p为54184622,是个合数 指数是组合数,不能用快 ...
- leyou_06_图片上传至FastDFS
1.推荐一个开源的FastDFS客户端,支持最新的SpringBoot2.0.配置使用极为简单,支持连接池,支持自动生成缩略图 1.1 在文件上传的微服务中 引入依赖 <dependency&g ...