Python 基础:集合运算,可变对象, 函数

集合使用

in 和not in
s={'a','b',1,2,3}
print('a' in s)
>> True
print(len(s))
>>
add() 向集合中添加元素
s={'a','b',1,2,3}
s.add(4)
print(s)
update() 将一个集合中元素添加到另一个集合中
s={'a','b',1,2,3}
s2=set('hello')
s.update(s2)
pop 删除随机元素
r=s.pop()
remove() 删除集合中指定元素 无返回值
clear() 清空集合
交集运算s1&s2
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1&s2 #交集
并集运算s1|s2
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1|s2 #并集
差集运算s1-s2
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1-s2 #差集
异或集运算s1^s2:集合里面不相交的部分
s1={1,2,3,4,5}
s2={4,3,6,7,8,9,}
r=s1^s2 #异或集
>>{1,2,5,7,8,9}
<= 检查是否是子集
< 检查是否是真子集
>= 检查是否是超集
> 检查是否是真超集
a={1,2,3}
b={1,2,3,4,5}
r=a<=b  #True
r=a<b  #True

可变对象

1.id(标识)
2.type(类型)
3.value( 值)==》可变

列表就是可变对象

a=[1,2,3]
a[0]=10 (改的是对象里面的value,通过变量修改对象的值,不会改变变量所指向的对象)
a=[6,5,4] (改的是对象的变量,给变量重新赋值,会给变量指向新的对象)

a=[1,2,3]
print('修改前',a,id(a))
a[0]=10
print('修改后',a,id(a))
a=[8,9,13]
print('重新赋值后',a,id(a))
>>>修改前 [1, 2, 3] 2954855408200
>>>修改后 [10, 2, 3] 2954855408200
>>>重新赋值后 [8, 9, 13] 2954855408264

函数

  • 函数简介
    函数也是一个对象
    函数用来保存一些可执行的代码,可多次调用
    fn是函数对象,fn() 调用此函数
    def 函数名([形参1,...]):
    代码块
def fn():
     print('My first function')
fn()
  • 函数的参数
    形参相当于在函数内部声明了变量,但没有赋值
    有几个形参 就要对应传几个实参
def s(a,b):
    print(a+b)
s(4,3)
>>7
  • 函数的传递方式
    1默认值没有传递时生效
    2函数的传递方式 位置参数就是将对应位置上的实参传给位置上的形参
def fn(a,b,c=20):
   print('a=',a)
   print('b=',b)
   print('c=',c)
fn(1,2)

3关键字传参:可以不按照定义的顺序传递,根据参数名来传参

def fn(b=1,c=20,a=13):
   print('a=',a)
   print('b=',b)
   print('c=',c)
fn()
>>a= 13
>>b= 1
>>c= 20

4位置参数和关键字参数混用,但必须将位置参数写在前面
5参数可以是各种类型,但函数计算时要避免错误
6.在函数中对形参进行赋值,不会影响其他变量
7.通过形参赋一个对象的值(可变对象)时,会影响到所指向该对象的变量 列表C : c.copy 或切片c[:]

不定长参数
  • 定义一个函数的时候,可以在形参的前面加上一个* ,这样这个形参将会获取到所有的实参会保存到一个元组当中
  • *a会接受所有位置的实参,并将这些实参统一保存到一个元组当中,只能有一个带参数
def s(*a):
     r=0
    for n in a:
        r+=n
   print(r)
s(1,23,435)
>>459
  • ** 形参可以接受其他关键字参数,保存到字典当中,只能有一个,必须放在参数最后
def s(**a):
   print('a=',a)
s(b=1,a=3,c=4)
>>a= {'b': 1, 'a': 3, 'c': 4}
  • 解包
def fn(a,b,c,):
  print('a=',a)
  print('b=',b)
  print('c=',c)
t=(4,5,6)
d= {'b': 1, 'a': 3, 'c': 4}
fn(*t)
fn(**d)
  • args 形参==》接收位置参数
    **keywords ==》解决关键字
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,752评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,100评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,244评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,099评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,210评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,307评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,346评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,133评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,546评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,849评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,019评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,702评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,331评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,030评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,260评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,871评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,898评论 2 351