day14课程内容:

  深浅拷贝 

#浅拷贝只能拷贝一层
s=[1,'a','b']
s1=s.copy()#浅拷贝
print(s1)#[1, 'a', 'b']
s[0]=2
print(s1,s)#[1, 'a', 'b'] [2, 'a', 'b'] 元素都是单个的,修改无影响

s=[[1,2,3],2,3]
s2=s.copy()#浅拷贝
print(s2) #[[1, 2, 3], 2, 3]
s[0][0]=111111
print(s2,s)#[[111111, 2, 3], 2, 3] [[111111, 2, 3], 2, 3] 元素是列表 ,修改有影响

#关联信用卡账户
import copy husband=['小胡','0001',[15000,10000]]
wife=husband.copy() #浅拷贝
wife[0]='小胡妻子'
wife[1]='0002'
husband[2][1]-=3000
print(husband)
print(wife) xiaosan=copy.deepcopy(husband) #深拷贝 相当于另外给小三开了个账户,而不是关联账户
xiaosan[0]='小胡的小三'
xiaosan[1]='0003'
xiaosan[2][1]-=1999
print(husband)
print(wife)
print(xiaosan)

  集合set

  创建集合只有一种办法:s=set(序列)

  集合最大的特性:去重  判断序列关系

  

s=set('hello world!') #  用处:天生去重  判断序列关系
print(s) #{'e', 'o', 'w', 'd', 'h', ' ', 'l', '!', 'r'} 将每个元素分开 有重复的元素只保留一个
#s=set([1,1,2,[11]]) 里面必须是可哈希的 元素不可改变,不能有列表元素
#set(可哈希的) 但set类型数据是不可哈希的 (无序 可变)
print(set('123')==set('1233333'))# True
print(set('123')<set('123')) #False
print(set('123')<set('1234')) #True 子集 超集 a = set([1,2,3,4,5])
b = set([4,5,6,7,8])
#交集
print(a.intersection(b)) # {4, 5}
print(a&b) #并集
print(a.union(b)) #{1, 2, 3, 4, 5, 6, 7, 8}
print(a|b) #符号等价表现形式 # #差集
print(a.difference(b)) #{1, 2, 3} a 里有的 b 里没有的
print(a-b)
print(b.difference(a)) #{8, 6, 7} b里有的 a里没有的
print(b-a)
#对称差集
print(a.symmetric_difference(b)) #{1, 2, 3, 6, 7, 8} 除了两个集合中相同的元素 反向交集
print(a^b)

  函数

  函数名区分大小写  

def add(*a): #传入不定长参数,将所有参数组成为一个元组
print(a)
sum=0
for i in a:
sum+=i
print(sum) add(1,2,3,4,5,6,7) def add1(*a,**b):
print(a)
print(b)
for i in b:
print('%s:%s'%(i,b[i])) add1('abb','bbbc',bb='22',cc='66')# 不定值参数 被组成元组定值参数被组成字典,而且传参时必须先传不定值参数

  返回值(return):

  1、函数里如果没有return,会默认返回None

  2、函数里return 后如果跟了多个返回值,则会被封装为一个元组返回

  作用域

  

# global 全局变量   nonlocal 程序集变量  #local 程序变量 
count=10
def f():
global count
count1=50
print(count)
def f1():
nonlocal count1
count1+=1
print(count1)
f1() f() # 10 51

老男孩Python全栈开发(92天全)视频教程 自学笔记14的更多相关文章

  1. 老男孩Python全栈开发(92天全)视频教程 自学笔记02

    day2课程目录: 操作系统的历史 二进制运算 字符编码与计算机容量 编程语言介绍 开发语言分类 演讲能力锻炼 day2课程内容梳理: 操作系统发展史: Unix系统 极其稳定 现在很多银行还在用 L ...

  2. 老男孩Python全栈开发(92天全)视频教程 自学笔记03

    day3课程目录: pyhton的历史 32bit和64bit系统的区别 Python版本的选择 第一个pyhton程序 文件后缀名及系统环境变量的介绍 pyhton程序的执行和其他编程语言的简单对比 ...

  3. 老男孩Python全栈开发(92天全)视频教程 自学笔记01

    day1课程目录: 开课介绍(1) 开课介绍(2) 开课介绍(3) 电脑简史(1) 电脑简史(2) 计算机结构 day1课程内容梳理: 导师介绍: Alex Li(金角大王):买了一辆特斯拉,喜欢姑娘 ...

  4. 老男孩Python全栈开发(92天全)视频教程 自学笔记09

    day9课程内容: 乌班图(ubuntu)64位系统 和 VMware 虚拟机安装(官网收费又麻烦,在网上找资源 安装vmware: vm运行(秘钥找度娘)--文件--新建虚拟机--自定义 下一步-- ...

  5. 老男孩Python全栈开发(92天全)视频教程 自学笔记20

    day20课程内容: 模块: #模块一共三种:1.Python标准库 2.第三方模块 3.应用程序自定义的模块#import sysimport jisuanapp#print(jisuanapp.a ...

  6. 老男孩Python全栈开发(92天全)视频教程 自学笔记07

    day7课程内容: Python的编码解码 二进制 --->ASCII:只能存英文和拉丁字符,一个字符占一个字节,8位 ------->gb2312:只能6700多个中文,1980年 -- ...

  7. 老男孩Python全栈开发(92天全)视频教程 自学笔记06

    day6课程内容: tuple(元祖) 创建元祖: tup0=() #没有元素的一个元祖 tup1=(20,)#只有一个元素的元祖 元祖可读,不可修改 Dictionary(字典)#Python里唯一 ...

  8. 老男孩Python全栈开发(92天全)视频教程 自学笔记05

    day5课程内容: 集成开发环境(IDE) VIM #经典的Linux下的文本编辑器 Eclipse #Java IDE Visual Studio #微软开发的IDE notepad++ subli ...

  9. 老男孩Python全栈开发(92天全)视频教程 自学笔记04

    day4课程目录: 逻辑运算符 while循环 day4课程内容梳理: 逻辑运算符 算数运算符:+,-,*,/,%,** 比较运算符:< ,>, ==,<=,>=,!=, 逻辑 ...

  10. 老男孩Python全栈开发(92天全)视频教程 自学笔记21

    day21课程内容:  json: #序列化 把对象(变量)从内存中 编程可存储和可传输的过程 称为序列化import jsondic={'name':'abc','age':18}with open ...

随机推荐

  1. 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)

    转自:https://segmentfault.com/a/1190000000513137 今天在进行 saltstack 多环境的时候,遇到一个问题,最终得到解决,好记性不如烂笔头,记录. 首先, ...

  2. RocketMQ-事务消费

    理论部分在https://www.jianshu.com/p/453c6e7ff81c中的 "三.事务消息".下面从代码层面看一下rockemq的事务消息 一.事务消费端. 从代码 ...

  3. windows的三种内存管理方法

    Windows的内存管理方法 windows提供了3种方法来进行内存管理: l         虚拟内存,最适合用来管理大型对象或者结构数组 l         内存映射文件,最适合用来管理大型数据流 ...

  4. JDK自带的缓存--包装类的缓存

    关于包装类和基本类型的文章我前面已经整理过了,这里大致罗列下重点.我们主要是想研究下包装类的缓存. 1,自动装箱和自动拆箱 java1.5之后就提供了自动装箱和自动拆箱的功能,当然我们也可以手动来装箱 ...

  5. php中HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用

    1.REMOTE_ADDR:浏览当前页面的用户计算机的ip地址2.HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关3.HTTP_CLIENT_IP:客户端的ip 在PHP 中 ...

  6. Java集合分析

    Java集合分析 前言 从开始接触Java的时候, 就在强调的一个重要版块, 集合. 终于能够开始对它的源码进行分析, 理解, 如果不懂得背后的思想, 那么读懂代码, 也仅仅是读懂了 if else ...

  7. fullpage.js的easing参数怎样配置自定义动画

    首先看非官方文档 并没有详细的说明怎样去使用easing.js,所以我加的运动属性根本就不起作用, 再看,官方文档 Optionally, when using css3:false, you can ...

  8. LIUNX-Centos 7 编译GDAL

    一.准备工作 安装编译环境 sudo yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-dev ...

  9. 用记事本编写java中的HelloWorld

    一.安装并配置jdk(图片来自百度经验) 安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹 ...

  10. word文字覆盖问题

    我们在编写word文档时,偶尔会遇到这个问题: 在一个段落中的某个位置修改文字时,直接就把后面的字体给覆盖了,导致后面的句子也不完整了. 解决经过: 之前遇到这种情况,非常恼火,直接新建一个word文 ...