老男孩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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏开发与安全

从零开始学C++之从C到C++(一):const与#define、结构体对齐、函数重载name mangling、new/delete 等

一、bool 类型 逻辑型也称布尔型,其取值为true(逻辑真)和false(逻辑假),存储字节数在不同编译系统中可能有所不同,VC++中为1个字节。 声明方式...

20200
来自专栏HTML5学堂

Math对象面试题目

HTML5学堂:JavaScript的Math对象的命令虽然简单,但是逻辑性要求比较高,它可以辅助开发者实现一些JavaScript复杂效果,这就要求大家有一定...

25850
来自专栏行者常至

abstract 不可以 与final , private , static 共存

7520
来自专栏Esofar 开发日记

JavaScript权威指南 - 对象

JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删。 JavaScript中的所有事物都是对象:字符串、数字、数组、日期,等等...

9320
来自专栏学海无涯

22.Swift学习之泛型

如果此时我们想交换两个Double类型、或者是其他类型的值,就需要针对不同的类型写类似的方法,但是这些方法仅仅只是参数类型不同。如何解决?—— 泛型

7210
来自专栏算法修养

C# 命名规范

Camel:首个单词的首字母小写,其余单词的首字母大写,例如productType

13420
来自专栏阿凯的Excel

Python读书笔记16(循环大法好!while少不了)

今天和大家分享一个新的循环语句while! 之前学过for循环语句用于遍历列表、元组、字典内的值,我们重温一下! ? 这种for循环语句是根据列表元素值的数量来...

38550
来自专栏Java帮帮-微信公众号-技术文章全总结

JAVA面试题解惑——final、finally和finalize的区别

final、finally和finalize的区别是什么? 这是一道再经典不过的面试题了,我们在各个公司的面试题中几乎都能看到它的身影。final、final...

35960
来自专栏北京马哥教育

Python爬虫基础知识:Python中的正则表达式教程

云豆贴心提醒,本文阅读时间7分钟 正则表达式在Python爬虫中的作用就像是老师点名时用的花名册一样,是必不可少的神兵利器。 一、 正则表达式基础 1.1.概...

28260
来自专栏owent

POJ 3267 The Cow Lexicon 解题报告

1.可以令 deleteNum[pos]为输入字符串在pos处需要删除的最少字符数量;

8320

扫码关注云+社区

领取腾讯云代金券