码迷,mamicode.com
首页 > 编程语言 > 详细

Python:集合、函数、三元运算符

时间:2017-06-10 21:35:04      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:python   实参   休息   join   sleep   逗号   去除   结果   函数返回   

集合:

#一种数据类型,有去重的功能,无序的(不能根据下标取值)

两种定义集合方法:

1:先定义一个列表,然后通过强制类型转换成集合

a=[1,2,3,4,4,5]  #set(a) 强制类型把列表a转换为集合,会把重复的值4去重

2:S={1,2,3,4}  #与字典要区别开

集合的操作:

list1 = {1, 2, 3, 4, 5, 6, 9}

list2 = {2, 3, 4, 6, 1}

list3 = {1, 2, 3}

print(list1.intersection(list2))  # 取交集,也就是取list1和list2中都有的

print(list1 & list2)# 取交集

print(list1.union(list2))  # 取并集,也就是把list1和list2合并了,然后去除重复的

print(list1 | list2)# 取并集

print(list1.difference(list2))  #取差集 在list中存在,在list2中没有的

print(list1 - list2) #取差集

print(list3.issubset(list1))#判断list3是不是list1的子集

print(list1.issuperset(list3))#判断list1是不是list3的父集

print(list1.isdisjoint(list3))#判断list1和list3是否有交集

print(list1.symmetric_difference(list2))#对称差集,输出两个列表中互相都没有的值,也就是把两个集合中相同的去掉

print(list1 ^ list2) #取对称差集

list1.add(888)#添加元素

list1.update([777,666,666])

list1.remove(777)#删除元素,如果元素不存在会报错

list1.pop()#删除一个随机的元素,并返回删除的元素

list1.discard(‘dddd‘)#如果删除的元素存在,删除,不存在不做处理

三元运算符:

语法1:a=值1  if 条件 else 值2  #如果if条件成立,a=值1,否则,a=值2

语法2:nums = [1,2,3,4,5,6,7,8,9,10]

       odd_num = [num for num in nums if num%2!=0 ]#循环nums,如果nums里面的值,不能被2整除的话,就写到odd_num这个list中,也就是算奇数,等于下面这么写

    odd_num = []

    for num in nums:

        if num % 2 !=0:

            odd_num.append(num)

函数(又叫方法):

将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可。

定义函数:

def  my_open():  #定义一个my_open的函数,要带冒号

调用函数:

My_open()  #函数名加括号即调用此函数,函数不调用就不会执行

函数必填参数:

def  read_users(file_name,age):  #定义函数时,括号里是形参(即变量);多个参数用逗号隔开,这种又叫必填参数或位置参数

read_users(‘a.txt’,20)  #调用函数时,括号里是实参,是实际的参数;多个参数用逗号隔开

函数默认值参数:

def  read_users(name,sex=’nan’):  #sex是默认值参数

read_users(‘hn’)  #调用时如果不填sex对应的实参,就默认是‘nan’

read_users(‘hn’,’nv’)  #调用时如果填sex对应的实参,就取实参的值

函数可变参数:

def  post(*args):  #也叫参数组(习惯性写args,也可以写其他变量),数量不固定,不是必填的,接收的是一个元组,它把调用函数时传进去的参数放到一个元组里

函数关键字参数:

也不是必填参数,可以为空

def kw(**kwargs)  #两个星号,接收的是一个字典

kw(name=’hn’,age=20)  #调用时实参要写关键字,括号里可以直接填字典变量,但要加上**,比如(dic={‘ name’=’hn’,’age’=20})  kw(**dic)

参数的顺序:

按照必填参数、默认值参数、可变参数、关键字参数的顺序接收参数,否则会报错,例:def  other(name,country=’china’,*args,**kwargs)

调用函数时使用关键字参数:

如果定义函数时,必填参数太多,在调用函数时,可以用key=value形式传实参,这种实参可以无序。例:定义函数:def write(filename,model,user,os):    调用:write(‘a.txt’,user=’hn’,os=’windows’,model=’hhh’)  #调用函数传实参时,必填参数必须在关键字参数前面

 

函数返回值:

用return a  #函数碰到return立即结束函数;调用完函数之后会返回一个结果

没有返回值的函数,默认返回None

 

返回多个值:

return a,b,c  #用逗号隔开,返回的多个值会放到元组里

 

局部变量和全局变量:

局部变量:在函数里面定义的变量叫局部变量,只能在函数里面用

全局变量:在函数外定义的变量,是全局变量,在函数内也能使用

在函数里改全局变量:

(int、string类型):用global声明

用global声明一下,即global a  a=100这样全局变量a的值就变了,如果不用global声明,a的值只是在函数里变了,出了函数a的值还是函数体之前的值

List dic 类型:就不用global声明,在函数里改变值,出了函数值也变化了。如果用global声明,会报错。

 

补充:

1:变量给变量赋值,赋的是内存地址,举例:def  a():   a=b  那么b()即调用了这个a函数

 

2:import os

os.system  #用来执行操作系统命令

 

3:import time

time.sleep(60)  #休息60秒再运行

 

4:linux重定向:把一个文件里面的内容,复制到另一个文件里

Python:集合、函数、三元运算符

标签:python   实参   休息   join   sleep   逗号   去除   结果   函数返回   

原文地址:http://www.cnblogs.com/hesperid/p/6979783.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!