zoukankan      html  css  js  c++  java
  • python自动化测试-D5-学习笔记之一(函数补充,内置函数,map,filter,eval)

    #  上节课补充:1、写代码的时候,少用全局变量:1、全局变量占内存  2、不安全
    # 函数如果有多个return的值,函数会把这些值放在元组里
    def hello(a,b,c,d):
    return a,b,c,d
    # res = hello('a','b','c','d')
    # print(res) #打印结果是(a,b,c,d)

    # 把数组元素里的int型,变成字符串格式放到文件里。文件不能直接写int类型 传统方式用for循环,现在用 列表推导式

    # nums = [0,1,2,3,4,5,6,7]
    # new_nums = [str(x) for x in nums]
    # print(new_nums)

    #习题,把 a =1,b=2,交换
    # 传统方式 引入第三个变量,然后交换
    a = 1
    b = 2
    # tmp = 0
    # tmp = a
    # a = b
    # b = tmp
    # print(a,b)
    #在python中有更简单的方式:
    # b,a = a,b #交换两个变量的值
    # print(a,b)
    # 不定义第三方变量的解决方法:仅限于int类型
    a = a + b
    b = a - b
    a = a - b
    print(a,b)

    # 一个函数只实现一个功能
    # 减少重复代码

    # 函数也是一个变量

    def say (name):
    print(name)

    ybq = say
    ybq('sherry')

    # 常量 是一个不会变的变量,常量一般用大写字母定义

    # 购物车作业的代码优化 利用函数集变量
    def add():
    print('添加商品')
    def show():
    print('查看商品')
    def del_p():
    print('删除商品')

    choice = input('请输入选择1,2,3').strip()

    menu = {
    '1':add,
    '2':show,
    '3':del_p
    }
    if choice in menu:
    menu[choice]() # 函数集变量,适用于函数没有参数,或者参数一样的情况
    else:
    print('输入错误')

    # 内置函数
    # len type print input str

    # print(all([1, 2, 3, 4])) # 判断可迭代的对象里面的值是否都为真
    # print(any([0, 1, 2, 3, 4])) # 判断可迭代的对象里面的值是否有一个为真
    # print(bin(100)) # 十进制转二进制
    # ejz = bin(100)
    # print(ejz.replace('0b',''))
    # print(chr(65)) # 打印数字对应的ascii
    # print(ord('A')) # 打印字符串对应的ascii码
    # print(dir(1)) # 打印传入对象的可调用方法
    # print(eval('[]')) # 执行python代码,只能执行简单的,定义数据类型和运算
    # code = 'def func(a):pass'
    # print(eval(code))
    # code = '''def a():print('aa')'''
    # print(exec(code)) # 执行python代码
    #zip
    # print(filter(lambda x: x > 5, [12, 3, 12, 2, 1, 2, 35])) # 把后面的迭代对象根据前面的方法筛选
    # print(map(lambda x: x > 5, [1, 2, 3, 4, 5, 6]))

    ids= [1,2,3,4,7,8,0,-1]
    names=['小黑','小白','小黄','小绿']
    names1=['小黑','小白','小黄','小绿']

    # for id,name,s in zip(ids,names,names1):
    # print(id,name,s)
    print(sorted('0123450'))#升序
    print(sorted(ids,reverse=True))#降序
    round(1.987123,5)# 保留几位小数


    map 和 filter
    def func(a): #0 1 2
    if a%2==0:
    return True
    else:
    return False
    nums = [x for x in range(11)]
    # res = filter(func,nums)
    # print(list(res))
    #filter也是帮你循环调用函数的,filter只保存结果返回真的。

    # map
    # all_res = []
    # for num in nums:
    # res = func(num)
    # all_res.append(res)
    #
    # res = map(func,nums) #
    #
    # print(list(res))
    #循环调用函数,然后把每次函数处理的结果,放到一个list里面返回



    eval函数就是实现list、dict、tuple与str之间的转化
    str函数把list,dict,tuple转为为字符串
    # 字符串转换成列表
    a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]"
    print(type(a))
    b = eval(a)
    print(b)

    # 字符串转换成字典
    a = "{1: 'a', 2: 'b'}"
    print(type(a))
    b = eval(a)
    print(type(b))
    print(b)

    # 字符串转换成元组
    a = "([1,2], [3,4], [5,6], [7,8], (9,0))"
    print(type(a))
    b=eval(a)
    print(type(b))
    print(b)

  • 相关阅读:
    UOJ 30 【CF Round #278】Tourists
    CodeForces 1070F Katya and Segments Sets
    Django系列3:Model的简单对接
    Django系列2:MTV简单流程
    python virtualenv
    vscode使用
    Django 系列1:Django简介
    vue-cli3/4 vue ui创建elementui项目
    npm安装参数
    vue系列11:vuex
  • 原文地址:https://www.cnblogs.com/blackbird0423/p/8321868.html
Copyright © 2011-2022 走看看