老男孩python课程表_老男孩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')

print(set('123')

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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值