老男孩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 ...
随机推荐
- whoops php调试库
Whoops 适用于PHP环境的错误捕获与调试PHP库: whoops非常容易使用,它提供stackbased错误捕获及超美观的错误查看 测试效果如下 安装步骤(composer安装) 安装完成之后在 ...
- python_10_文件操作
文件操作逻辑? 打开文件,赋值给一个对象 用对象操作文件 关闭文件 如何打开文件? 在windows中,默认格式gbk,python3.x默认unicode(utf-8),要指定编码值 语法: f = ...
- 搭建Hadoop集群(centos6.7+hadoop-2.7.3)
hadoop集群有三种运行模式:单机模式.伪分布模式.完全分布模式.我们这里搭建第三种完全分布模式,即使用分布式系统,在多个节点上运行. 1 环境准备 1.1 配置DNS 进入配置文件,添加主节点和从 ...
- maven依赖问题
我的一个maven项目A依赖于我的另一个maven项目B,但是maven dependencies中显示的是文件.如下图: 而且项目A部署的时候,部署到tomcat容器的时候也是直接部署的B的编译后的 ...
- linkin大话面向对象--封装和隐藏
软件开发追求的境界:高内聚,低耦合 高内聚:尽可能把模块的内部数据,功能实现细节隐藏在模块内部独立完成,不允许外部直接干预 低耦合:仅暴露少量的方法给外部使用 到底为什么要对一个雷或者对象实现良好的封 ...
- jdbc参数
JDBC连接池参数: jdbc.initialSize=0 //初始化连接 jdbc.maxActive=30 //连接池的最大数据库连接数,设为0表示无限制 j ...
- Python杂项
一. Python执行系统命令 Python可以使用system和popen来执行系统命令,使用时需要import os, 传入的参数都为一个字符创,不过这两者之间有些差异. os.system(cm ...
- 优秀的基于VUE移动端UI框架合集
1. vonic 一个基于 vue.js 和 ionic 样式的 UI 框架,用于快速构建移动端单页应用,很简约,是我喜欢的风格 star 2.3k 中文文档 在线预览 2.vux 基于WeUI和Vu ...
- WEB渗透测试之漏扫神器
AppScan 对现代 Web 应用程序和服务执行自动化的动态应用程序安全测试(DAST) 和交互式应用程序安全测试 (IAST).支持 Web 2.0. JavaScript 和 AJAX 框架的全 ...
- Java NIO之网络编程
最近在研究Java NIO和netty,曾经一度感觉很吃力,根本原因还是对操作系统.TCP/IP.socket编程的理解不到位. 不禁感叹,还是当初逃的课太多. 假如上天给我一次机会,能够再回到意气风 ...