zoukankan      html  css  js  c++  java
  • 关于变量参数的传递,python让人蛋痛的地方

    def find_file(file_table):
    with open(file_table, 'r', encoding='utf-8') as read_f:
    line_dict = {}
    for line in read_f:
    line_list = line.strip().split(',')
    line_dict['staff_id'] = line_list[0]
    line_dict['name'] = line_list[1]
    line_dict['age'] = line_list[2]
    line_dict['phone'] = line_list[3]
    line_dict['dept'] = line_list[4]
    line_dict['enroll_date'] = line_list[5]
    yield line_dict
    def find_file_content(file_table,query_condition,sep=None): #传入 文件名 查询条件 和 条件内容
    staff_info_genertor = find_file(file_table) #获取生成器 传过来的是一个字典
    condition_query = [] #部门时IT的所有人的信息
    while True:
    try:
    staff_info = next(staff_info_genertor) #接收生成器每次传过来的值
    if sep.isalpha(): #如果是字母
    if staff_info[query_condition] == sep:
    condition_query.append(staff_info)

    except StopIteration as e:
    break
    print(condition_query)
    运行结果:
    [{'staff_id': '10', 'name': 'Mosson', 'age': '18', 'phone': '13188888888', 'dept': 'IT', 'enroll_date': '2018-12-11'},
    {'staff_id': '10', 'name': 'Mosson', 'age': '18', 'phone': '13188888888', 'dept': 'IT', 'enroll_date': '2018-12-11'}]


    第二个例子
      l = []
      for i in range(1, 10):
          f = lambda x: x * i
          l.append(f)    # 每次都添加一个函数进列表,函数的 i 是一个变量。每次循环变量的值,就会跟着改变。
              # python采用的是引用的机制,这里 虽说每次都添加一个元素到列表里。但是 如果这个元素是个变量的话。每次的引用都会被指向新的位置。
      for f in l:
          print(f(1))
    运行结果是:
    9
    9
    9
    9
    9
    9
    9
    9
    9
     
     
    第三个例子
    i = 0
    for i in range(1,10):
    print(i)
    print(i)
    运行结果
    1
    2
    3
    4
    5
    6
    7
    8
    9
    9 # i 是一个变量。每次都对他赋值。最后一次是9 所以print的是9
    
    
  • 相关阅读:
    vs code 使用小技巧
    数组22组合
    js--arTemplate引擎
    JAVA -简要记录maven的安装与环境变量的配置
    JAVA -简要记录jdk的安装与环境变量的配置
    浅谈“复制粘贴”对于程序员的伤害
    C#中 IndexOf的使用
    C# Substring函数的总结
    C# 还原Nuget包失败的解决方法
    C# 未能找到类型或命名空间名称“XXXX”(是否缺少 using 指令或程序集引用?)解决方案
  • 原文地址:https://www.cnblogs.com/chengege/p/10233348.html
Copyright © 2011-2022 走看看