老男孩Python全栈开发(92天全)视频教程 自学笔记14
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的更多相关文章
- 老男孩Python全栈开发(92天全)视频教程 自学笔记02
day2课程目录: 操作系统的历史 二进制运算 字符编码与计算机容量 编程语言介绍 开发语言分类 演讲能力锻炼 day2课程内容梳理: 操作系统发展史: Unix系统 极其稳定 现在很多银行还在用 L ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记03
day3课程目录: pyhton的历史 32bit和64bit系统的区别 Python版本的选择 第一个pyhton程序 文件后缀名及系统环境变量的介绍 pyhton程序的执行和其他编程语言的简单对比 ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记01
day1课程目录: 开课介绍(1) 开课介绍(2) 开课介绍(3) 电脑简史(1) 电脑简史(2) 计算机结构 day1课程内容梳理: 导师介绍: Alex Li(金角大王):买了一辆特斯拉,喜欢姑娘 ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记09
day9课程内容: 乌班图(ubuntu)64位系统 和 VMware 虚拟机安装(官网收费又麻烦,在网上找资源 安装vmware: vm运行(秘钥找度娘)--文件--新建虚拟机--自定义 下一步-- ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记20
day20课程内容: 模块: #模块一共三种:1.Python标准库 2.第三方模块 3.应用程序自定义的模块#import sysimport jisuanapp#print(jisuanapp.a ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记07
day7课程内容: Python的编码解码 二进制 --->ASCII:只能存英文和拉丁字符,一个字符占一个字节,8位 ------->gb2312:只能6700多个中文,1980年 -- ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记06
day6课程内容: tuple(元祖) 创建元祖: tup0=() #没有元素的一个元祖 tup1=(20,)#只有一个元素的元祖 元祖可读,不可修改 Dictionary(字典)#Python里唯一 ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记05
day5课程内容: 集成开发环境(IDE) VIM #经典的Linux下的文本编辑器 Eclipse #Java IDE Visual Studio #微软开发的IDE notepad++ subli ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记04
day4课程目录: 逻辑运算符 while循环 day4课程内容梳理: 逻辑运算符 算数运算符:+,-,*,/,%,** 比较运算符:< ,>, ==,<=,>=,!=, 逻辑 ...
- 老男孩Python全栈开发(92天全)视频教程 自学笔记21
day21课程内容: json: #序列化 把对象(变量)从内存中 编程可存储和可传输的过程 称为序列化import jsondic={'name':'abc','age':18}with open ...
随机推荐
- 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)
转自:https://segmentfault.com/a/1190000000513137 今天在进行 saltstack 多环境的时候,遇到一个问题,最终得到解决,好记性不如烂笔头,记录. 首先, ...
- RocketMQ-事务消费
理论部分在https://www.jianshu.com/p/453c6e7ff81c中的 "三.事务消息".下面从代码层面看一下rockemq的事务消息 一.事务消费端. 从代码 ...
- windows的三种内存管理方法
Windows的内存管理方法 windows提供了3种方法来进行内存管理: l 虚拟内存,最适合用来管理大型对象或者结构数组 l 内存映射文件,最适合用来管理大型数据流 ...
- JDK自带的缓存--包装类的缓存
关于包装类和基本类型的文章我前面已经整理过了,这里大致罗列下重点.我们主要是想研究下包装类的缓存. 1,自动装箱和自动拆箱 java1.5之后就提供了自动装箱和自动拆箱的功能,当然我们也可以手动来装箱 ...
- php中HTTP_X_FORWARDED_FOR 和 REMOTE_ADDR的使用
1.REMOTE_ADDR:浏览当前页面的用户计算机的ip地址2.HTTP_X_FORWARDED_FOR: 浏览当前页面的用户计算机的网关3.HTTP_CLIENT_IP:客户端的ip 在PHP 中 ...
- Java集合分析
Java集合分析 前言 从开始接触Java的时候, 就在强调的一个重要版块, 集合. 终于能够开始对它的源码进行分析, 理解, 如果不懂得背后的思想, 那么读懂代码, 也仅仅是读懂了 if else ...
- fullpage.js的easing参数怎样配置自定义动画
首先看非官方文档 并没有详细的说明怎样去使用easing.js,所以我加的运动属性根本就不起作用, 再看,官方文档 Optionally, when using css3:false, you can ...
- LIUNX-Centos 7 编译GDAL
一.准备工作 安装编译环境 sudo yum install gcc gcc-c++ gcc-g77 flex bison autoconf automake bzip2-devel zlib-dev ...
- 用记事本编写java中的HelloWorld
一.安装并配置jdk(图片来自百度经验) 安装JDK 选择安装目录 安装过程中会出现两次 安装提示 .第一次是安装 jdk ,第二次是安装 jre .建议两个都安装在同一个java文件夹中的不同文件夹 ...
- word文字覆盖问题
我们在编写word文档时,偶尔会遇到这个问题: 在一个段落中的某个位置修改文字时,直接就把后面的字体给覆盖了,导致后面的句子也不完整了. 解决经过: 之前遇到这种情况,非常恼火,直接新建一个word文 ...