老男孩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 ...
随机推荐
- Linux指令--wc
Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...
- Java集合分析
Java集合分析 前言 从开始接触Java的时候, 就在强调的一个重要版块, 集合. 终于能够开始对它的源码进行分析, 理解, 如果不懂得背后的思想, 那么读懂代码, 也仅仅是读懂了 if else ...
- IEEE754 处理数据变换
public class IEEE754 { /// <summary> /// 将二进制值转ASCII格式十六进制字符串 /// </summary> /// <pa ...
- MOOC网视频下载并视频倍速播放,超简单哒,亲测可用,( •̀ ω •́ )y
由于视频在线播放太卡,想着下载看吧~~可是这个坑爹的网站没有下载按钮,难道就不可以下载视频了吗? 小白不甘心~ 于是动手查了一下,实验很成功,估计如果会爬虫的都不用像我一样一个一个自己去下了,奈何我知 ...
- MySQL之SELECT用法
主要是为了搞定一个select语句,因为语法比较奇怪,没看懂,百度了一些结果 select的东西相当于一个临时表,as就给这临时表取个名字. SELECT语句的完整语法SELECT语句的完整语法为: ...
- CentOS7下 Java、Tomcat、MySQL、Maven热部署
本文介绍了CentOS7 64位下Java.Tomcat.MySQL.Maven热部署等服务器环境的搭建和调试过程. 学生服务器资源获取方法: 云+校园计划 - 腾讯云 阿里云云翼计划 github ...
- String str="abc";和String str2=new String("abc");有什么区别?
- Effective Java 之-----静态工厂与构造器
一. 考虑用静态工厂方法代替构造器: 1)静态工厂方法与构造器不同的第一大优势在于:他们有名称.当一个类需要多个带有相同签名的构造器时,就用静态方法代替构造器,并慎重的选择名称以突出他们间的区别: 2 ...
- jquery 中json数组的操作 增删改
1.数组的创建 var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限, ...
- BZOJ 2844: albus就是要第一个出场 [高斯消元XOR 线性基]
2844: albus就是要第一个出场 题意:给定一个n个数的集合S和一个数x,求x在S的$2^n$个子集从小到大的异或和序列中最早出现的位置 一开始看错题了...人家要求的是x第一次出现位置不是第x ...