一、集合数据类型(set):无序不重复的集合,交集、并集等功能

二、三元运算符

三、深浅拷贝

1)字符串和数字:深浅内存地址都一样

2)其他:浅拷贝:仅复制最外面第一层

  • 深拷贝:除了最内层其他均拷贝

四、函数:

1)创建:def 函数名(参数)

2)返回值

  • return 返回值,如果不指定return则默认返回None
  • 一旦遇到return后面的代码不再执行

3)参数

  • 形参、实参
  • 普通参数数量要一致并且一一对应
  • 指定参数,执行参数的时候指定形参=实参
  • 指定参数的默认值,默认值一定要放在参数的尾部
  • 动态参数  *args  **args,调用的时候可以使用*实参列表,这样相当于循环实参加入元组,**字典,可以直接传输字典不需要(key1=123,key2=456)
  1. def f1(*args):
  2. print(args)
  3.  
  4. f1(11,22,33)
  5. #打印:(11, 22, 33)
  1. def f1(**kwargs):
  2. print(kwargs)
  3.  
  4. f1(k1=11,k2=22)
  5. #打印输出:{'k1': 11, 'k2': 22}
  1. def f1(*args,**kwargs):
  2. print(args,kwargs)
  3.  
  4. f1(11,22,33,k1=11,k2=22)
  5. #打印输出:(11, 22, 33) {'k1': 11, 'k2': 22}
  1. def f1(n,*args,**kwargs):
  2. print(n,args,kwargs)
  3.  
  4. f1(11,22,33,k1=11,k2=22)
  5. #打印输出:11 (22, 33) {'k1': 11, 'k2': 22}
  1. def f1(*args):
  2. print(args)
  3.  
  4. n = [11,22,33]
  5. f1(n)
  6. #打印输出:([11, 22, 33],)
  7. f1(*n)
  8. #打印输出:(11, 22, 33)
  1. def f1(**kwargs):
  2. print(kwargs)
  3.  
  4. n = {"k1":11,"k2":22}
  5. #f1(n)
  6. #报错
  7. f1(**n)
  8. #打印输出:{'k1': 11, 'k2': 22}

4)在python中传参数时,对列表、元组、字典类型传输的是引用

  1. def func1(args):
  2. args.append()
  3.  
  4. li = [,,]
  5. func1(li)
  6. print(li) #输出[, , , ]

五、局部变量和全部变量

1)全局变量用大写,局部变量用小写

2)全局变量在函数内部可以使用,但不能修改,如果要修改,那么要加global 变量名

  1. name='张三'
  2. def f1():
  3. name="李四" #不会修改全局变量,会在函数内部新建一个变量
  4. return(name)
  5.  
  6. def f2():
  7. return ("我的名字是" + name) #可以使用全局变量
  8.  
  9. def f3():
  10. global name #加上global之后下面可以修改全局变量的值,加上global后相当于把name变成全局变量,如果外层没有name则声明全局变量name,如果有则引入全局变量name
  11. name = "王五"
  12. return name
  13.  
  14. print(f1()) #李四
  15. print(f2()) #我的名字是张三
  16. print(f3()) #王五
  1. def func1():
  2. a = 10
  3. def func2():
  4. a = 20
  5. print(a)
  6. func2()
  7. print(a)
  8.  
  9. func1() #打印结果:20 10
  1. def func1():
  2. a = 10
  3. def func2():
  4. nonlocal a #不作为局部变量,向上层找,但不能超出局部变量范围,不会找到全局变量
  5. a = 20
  6. print(a)
  7. func2()
  8. print(a)
  9.  
  10. func1() #打印结果:20 20

函数:globals() 打印全局变量

locals() 打印局部变量 ,放在全局打印的与globals一样,放在函数内则只打印函数内部的变量

六、判断是某个实例属于哪个类

  1. st = 'abdc'
  2. #第二个参数可以是元组,例如判断st是字符串或字典或列表,
  3. #则可以写为:bol = isinstance(st,(str,dict,list)
  4. bol = isinstance(st,str)
  5. print(bol) #返回True,说明st是字符串类型
  1. def func1():
  2. a = 10
  3. def func2():
  4. nonlocal a #不作为局部变量,向上层找
  5. a = 20
  6. print(a)
  7. func2()
  8. print(a)
  9.  
  10. func1() #打印结果:20 20

【python之路15】深浅拷贝及函数的更多相关文章

  1. python之路(三)-深浅拷贝

    深浅拷贝用法来自copy模块. 导入模块:import copy 浅拷贝:copy.copy 深拷贝:deepcopy 字面理解:浅拷贝指仅仅拷贝数据集合的第一层数据,深拷贝指拷贝数据集合的所有层.所 ...

  2. [Python笔记]第三篇:深浅拷贝、函数

    本篇主要内容:深浅拷贝,自定义函数,三目运算,lambda表达式, 深浅拷贝 一.数字和字符串 对于 数字 和 字符串 而言,赋值.浅拷贝和深拷贝无意义,因为其永远指向同一个内存地址. import ...

  3. Python全栈之路3--set集合--三元运算--深浅拷贝--初识函数

    一.上节课的重点回顾: 1.类名加括号其实就是执行类的__init__方法: 2.int a.创建方式 n1 = 123 #根据int类创建了一个对象 n2 = int(123) #根据int类创建一 ...

  4. Python学习笔记——基础篇2【第三周】——计数器、有序字典、元组、单(双)向队列、深浅拷贝、函数、装饰器

    目录 1.Python计数器Counter 2.Python有序字典OrderredDict 3.Python默认字典default 4.python可命名元组namedtuple 5.Python双 ...

  5. python基础(7)--深浅拷贝、函数

    1.深浅拷贝 在Python中将一个变量的值传递给另外一个变量通常有三种:赋值.浅拷贝.深拷贝 Python数据类型可氛围基本数据类型包括整型.字符串.布尔及None等,还有一种由基本数据类型作为最基 ...

  6. python开发学习-day03(set集合、collection系列 、深浅拷贝、函数)

    s12-20160116-day03 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  7. Python全栈开发之3、数据类型set补充、深浅拷贝与函数

    转载请注明出处http://www.cnblogs.com/Wxtrkbc/p/5466082.html 一.基本数据类型补充 set是一个无序而且不重复的集合,有些类似于数学中的集合,也可以求交集, ...

  8. Python collection模块与深浅拷贝

    collection模块是对Python的通用内置容器:字典.列表.元组和集合的扩展,它包含一些专业的容器数据类型: Counter(计数器):dict子类,用于计算可哈希性对象的个数. Ordere ...

  9. Python-Day3知识点——深浅拷贝、函数基本定义、内置函数

    一.深浅拷贝 import copy #浅拷贝 n1={'k1':'wu','k2':123,'k3':['carl',852]} n2=n1 n3=copy.copy(n1) print(id(n1 ...

随机推荐

  1. java当拿到一个项目后该怎么看的一些个人见解(附带快捷键)

    刚出来实习,BOSS让我用maven下载架包后进行修改. 刚开始拿到项目两眼一黑,完全不知道该怎么下手.想找server层,完全不知道在那么多架包那里开始弄. 这个时候首先要明确你要修改的位置,找到这 ...

  2. JEECG 4.0 版本发布,JAVA快速开发平台

    JEECG 4.0 版本发布,系统全面优化升级,更快,更稳定!         导读                               ⊙平台性能优化,系统更稳定,速度闪电般提升      ...

  3. java.io.FileNotFoundException: E:\work\work (拒绝访问。)

    转载自:https://blog.csdn.net/YQS_Love/article/details/51959776 一.问题 在使用FileInputStream或FileOutputStream ...

  4. codeforces 1136E-Nastya Hasn't Written a Legend

    传送门:QAQQAQ 题意:有一个数组a和一个数组k,数组a一直保持一个性质:a[i + 1] >= a[i] + k[i].有两种操作:1,给某个元素加上x,但是加上之后要保持数组a的性质.比 ...

  5. socket工作原理深入分析

    socket原理分析 本篇文章摘自https://www.cnblogs.com/zengzy/p/5107516.html,总结的很好,所以摘过来总结整理一下,如果朋友们还想更加深入的研究网络,推荐 ...

  6. Pandas系列-读取csv/txt/excel/mysql数据

    本代码演示: pandas读取纯文本文件 读取csv文件 读取txt文件 pandas读取xlsx格式excel文件 pandas读取mysql数据表 import pandas as pd 1.读取 ...

  7. 1、mysql安装教程

    1.https://www.runoob.com/mysql/mysql-install.html   参考安装链接 Windows 上安装 MySQL Windows 上安装 MySQL 相对来说会 ...

  8. HZOI2019 超级树 dp

    题面:https://www.cnblogs.com/Juve/articles/11207540.html(密码)————————————————>>> 题解: 官方题解: 考虑d ...

  9. CF 981C Useful Decomposition

    题面 题目大意 给定一棵树,要求划分出几条链,使这几条链交于一点. 解题思路 因为所有链都要交于一点,所以必须交于一个度数最多的点.这样就形成了一个菊花形.然后从这个点出发到它的子树,判断子树的度数是 ...

  10. 图像复原MATLAB实现

    前言:本篇博客先介绍滤波器滤除噪声,再介绍滤波器复原,侧重于程序的实现. 一:三种常见的噪声 二:空间域滤波 空间域滤波复原是在已知噪声模型的基础上,对噪声的空间域进行滤波.空间域滤波复原方法主要包括 ...