zoukankan      html  css  js  c++  java
  • python数据类型集合及函数

    
    
    # 数据类型:int string list tuple dict bool float set
    # 集合,天生去重,集合是无序的,所以没有办法通过下标取值
    s = set() # 空的集合
    s2 = {'1', '2', '3', '4'}
    s3 = {'1', '2', '5'}
    s2.add('1') # 添加值
    s2.remove('1') # 删除值
    s2.pop() # 随机删一个值
    print(s3.intersection(s2)) # 取交集
    print(s3 & s2) # 取交集
    print(s3.union(s2)) # 取并集
    print(s3 | s2) # 取并集
    print(s2.difference(s3)) # 在s2中存在,在s3中没有的
    print(s2 - s3) # 取差集


    # 函数
    # 函数就是把一堆代码组合到一起,变成一个整体。
    # 函数不调用不会被执行
    # 提高代码的复用性
    # 全局变量、局部变量

    # 形参
    # 实参
    # 位置参数,必填参数
    # 默认值参数,不是必填的,

    # 返回值
    # 如果想获取到函数的结果,那么必须return
    # 如果函数没有写return的话,返回值是None,return不是必须写的,需要获取到函数的返回结果再写。
    # return 立即结束函数

    # 变量,全局变量和局部变量
    # 函数中的变量都是局部变量
    # 就近原则获取变量值,但存在相同的变量时,函数中的变量优先取最近的变量值(脚本都是从上到下执行)

    a = 100 # 全局变量

    def test():
    global a # 声明全局变量
    a = 5
    print('里面的', a)
    test() # 调用执行函数
    print('外面的', a)

    def hello(file_name, content=''): # 形参,形式参数
    # 函数里面的变量都是局部变量
    f = open(file_name, 'a+', encoding='utf-8')
    if content:
    f.write(content)
    res = ''
    else:
    f.seek(0)
    res = f.read()
    f.close()
    return res

    # hello('a.txt', '开始')
    print(hello('a.txt'))
    print(hello('a.txt', '开始')) # 调用函数无返回值时返回None

    # 函数调用小题
    money = 500
    def test(consume):
    return money - consume
    def test1(money):
    return test(money) + money
    money = test1(money)
    print(money)

    # 1、对比俩字典里面不一样的值
    # 需求分析:
    # 1、循环第一个字典,取到k,然后从第二个字典里面取值,然后判断两个值是否一样
    d1 = {'a': 1, 'b': 2, 'f': 5}
    d2 = {'s': 3, 'b': 4}
    def compare(d1, d2):
    for k in d1:
    v1 = d1.get(k)
    v2 = d2.get(k)
    if v2:
    if v1 != v2:
    print('value不一样的k是%s,v1是%s v2是%s ' % (k, v1, v2))
    else:
    print('key不一样是%s' % k)

    compare(d1, d2)
    compare(d2, d1)

    # 判断变量类型:k : hhh value : xx
    def print_var_type(var):
    if type(var) == str:
    print('字符串')
    elif type(var) == dict:
    print('字典')
    elif type(var) == int:
    print('整数')
    elif type(var) == list:
    print('列表')
    elif type(var) == tuple:
    print('元组')
    elif type(var) == float:
    print('小数类型')
    elif type(var) == set:
    print('集合')

    # 对比请求报文中的字典值是否一致
    d1 = {'a': 1, 'b': 2}
    d2 = {'a': 2, 'b': 2}
    def compare(d1, d2):
    for k in d1:
    v1 = d1.get(k)
    v2 = d2.get(k)
    if v2:
    if v1 != v2:
    print('不一样的k是%s:v1是%s,v2是%s' % (k, v1, v2))
    else:
    print('k不一样的是%s' % k)
    compare(d1, d2)

    #比较两报文之间的差异
    def compare2(d1, d2):
    for k in d1:
    v1 = d1.get(k)
    v2 = d2.get(k)
    if type(d1) == dict:
    compare(v1, v2)#判断如果value也是字典,递归继续循环
    else:
    if v1 != v2 and v2 != 'get不到':
    print('value不一样:key【%s】,v1是【%s】,v2是【%s】' % (k, v1, v2))
    res = set(d1.keys()).symmetric_difference(set(d2.keys()))#两个字典k取对称差,两个里面都不存在则存在不一样的key
    if res: print('key不一样:', ','.join(res))
     
  • 相关阅读:
    forfiles
    windows 安装 keras
    windows上使用tensorboard
    python类定义与c#的一些区别
    iis https 客户端证书
    DevExpress历史安装文件、源码、注册破解下载
    AE开发,执行GP操作的时候的错误
    USB无线网卡和PCI-E无线网卡如何选择(转)
    .NET 对实现IPersistStream接口的对象进行保存和读取
    搜索
  • 原文地址:https://www.cnblogs.com/zhufb/p/8243304.html
Copyright © 2011-2022 走看看