码迷,mamicode.com
首页 > 其他好文 > 详细

自动化day4-函数

时间:2018-01-13 20:52:06      阅读:128      评论:0      收藏:0      [点我收藏+]

标签:*args   log   test   als   去重   无法   intersect   字符   write   

一、集合

#集合,天生去重
s = set() #定义空的集合
s2 = {‘1‘,‘2‘,‘3‘}# 里面数据有冒号是字典,无冒号是集合


ls = [1,1,1,2,2,2,2]
print(set(ls))#强制转换集合类型
#集合是无序的,所以无法通过下标取值
#添加值
s2.add(‘5‘)
print(s2)


#交集 并集 差集 对称差集
s3 = [1,2,3]
s2.intersection(s3)#取交集
s3 & s2 #取交集

s2.union(s2)#取并集
s2 | s3#取并集

s2.difference(s3)#取差集,取s2中的和s3不同的
s2 - s3#取差集,取s2中的和s3不同的


s2.remove(1)#删除值
s2.pop()#随机删除一个值

二、
#函数   方法   功能     说白了函数就是把一堆代码组合到一起,变成一个整体
#函数提高代码的复用性
def hello():
print(‘hello‘)
#函数不调用不会被执行
hello()#调用

def duxie(name,content = ‘‘): #形参,形式参数
f = open(name,‘a+‘)
if content:
f.write(content)
res = ‘‘
else:
f.seek(0)
res = f.read()
f.close()
return res
duxie(‘123.txt‘,‘123‘) #实参,实际参数
duxie(‘123.txt‘)
print(duxie(‘123.txt‘))
user = duxie(‘123.txt‘)
print(user)

#形参
#实参
#位置参数 必填参数
#默认值参数 def duxie(name,content = ‘‘): 形参里面直接指定一个参数,不是必填的,实参有参数用实参,没参数用默认值
#如果函数没有写return的话,返回的是none,return不是必写的,需要返回结果在写
#return 1.结束函数 2.获取值

#全局变量 局部变量
#函数里面的变量都是局部变量
a = 100
def test():
a = 5
print(a)
test()
print(a)

#修改全局变量
a = 100
def test():
global a #声明全局变量,声明之后就可以更改
a = 5
print(a)
test()
print(a)

三、可变参数
# def test(a,b=1,*args):  #可变参数
# print(‘a‘,a)
# print(‘b‘, b)
# print(‘args‘,args )
# print(args[0])
# test(‘yu‘,‘22‘,‘qq‘,‘ww‘)#位置调用
# test(a=4,b=5)#关键字调用
#
# t = [1,2,3,4]
# test(*t)


#关键字参数
def test2(a,**kwargs):
print(a)
print(kwargs)
# test2()
test2(a=1,name=‘ybq‘,sex=18)

#写一个校验字符串是否为合法的小数
#0.88 -0.99
def check_f(s):
s = str(s)
if s.count(‘.‘)== 1:
s_list = s.split(‘.‘)
left = s_list[0]
right = s_list[1]
if left.isdigit() and right.isdigit():#正小数
return True
elif left.startswith(‘-‘) and left.count(‘-‘)==1:
if left.split(‘-‘)[-1].isdigit() and right.isdigit():#负小数
return True
return False
print(check_f(0.1))

四、递归调用
#递归   就是自己调用自己
def test1():
num = int(input(‘please enter a number:‘))
if num % 2 == 0: # 判断输入的数字是不是偶数
return True #如果是偶数的话,程序就退出了,返回true
print(‘不是偶数请重新输入!‘)
return test1()#如果不是偶数的话继续调用自己,输入值
print(test1())#调用test

#用递归能实现的用循环都能实现,最好别用递归
#递归最多能递归999次

自动化day4-函数

标签:*args   log   test   als   去重   无法   intersect   字符   write   

原文地址:https://www.cnblogs.com/hhyds/p/8280121.html

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