关于变量参数的传递,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'}] 第二个例子
for i in range(1, 10):
f = lambda x: x * i
l.append(f) # 每次都添加一个函数进列表,函数的 i 是一个变量。每次循环变量的值,就会跟着改变。
print(f(1))
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
关于变量参数的传递,python让人蛋痛的地方的更多相关文章
- python学习笔记11(函数二): 参数的传递、变量的作用域
一.函数形参和实参的区别 形参全称是形式参数,在用def关键字定义函数时函数名后面括号里的变量称作为形式参数. 实参全称为实际参数,在调用函数时提供的值或者变量称作为实际参数. >>> ...
- python函数中参数的传递
Python唯一支持的参数传递方式是『共享传参』(call by sharing)多数面向对象语言都采用这一模式,包括Ruby.Smalltalk和Java(Java的引用类型是这样,基本类型按值传递 ...
- 【问题】Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数
[问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: <button onclick="deleteProduct('@ ...
- python中定义函数和参数的传递问题
作者:達聞西链接:https://zhuanlan.zhihu.com/p/24162430来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 5.2.4 函数.生成器和类 ...
- 【angular】angular如何让传递变量参数+ng-change的使用
HTML: <div class="form-group"> <label class="col-sm-2 control-label"> ...
- python 函数参数的传递(参数带星号的说明) 元组传递 字典传递
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...
- python 函数参数的传递(参数带星号的说明)
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...
- python函数参数的传递、带星号参数的传递
python中函数参数的传递是通过赋值来传递的.函数参数的使用又有俩个方面值得注意:1.函数参数是如何定义的 2.在调用函数的过程中参数是如何被解析 先看第一个问题,在python中函数参数的定义主要 ...
- 038-PHP向返回的闭包函数实例中,传递外部变量参数
<?php # 向返回的闭包函数实例中,传递外部变量参数 # 直接调用将不会输出$txt的内容 function demo(){ $txt = '我爱PHP'; # 1.function()内的 ...
随机推荐
- js 改变颜色值
/** * 获取颜色值 */ const color2RGB = (color) => { if (typeof color !== 'string' || (color.length !== ...
- KVM虚拟化技术(一)虚拟化简介
一 .虚拟化 虚拟化是指计算机元件在虚拟的基础上而不是真实的基础上运行.虚拟化技术可以扩大硬件的容量,简化软件的重新配置过程.CPU的虚拟化技术可以单CPU模 拟多CPU并行,允许一个平台同时运行多个 ...
- MVC part3
SpringMVC原理图 SpringMVC接口解释 DispatcherServlet接口: Spring提供的前端控制器,所有的请求都有经过它来统一分发.在DispatcherServlet将请求 ...
- C# WInForm中 窗体的this.width和this.height的属性值不能大于显示器的最大分辨率
最近在做一个小项目的时候,发现在 1680x1050 分辨率显示器上写的代码,将窗体的宽度和高度 设置成了 1600×900,在高于1600×900的分辨率上缩放显示很正常, 而后转移到 分辨率低于 ...
- 利用原生态的(System.Web.Extensions)JavaScriptSerializer将mvc 前台提交到controller序列化复杂对象
主要代码如下: public JsonResult Test() { string s = Request.Form.ToString(); JavaScriptSerializer jss = ne ...
- Oracle Error
1. TNS:listener does not currently know of service requested in connect descriptor 数据库连接出错
- Python基础学习Day5 字典的增、删、改、查的用法 分别赋值
一.字典的介绍 字典:字典是Python的基础数据类型之一:字典可以存储大量数据,关系型数据. 同样是Python中唯一的映射类数据类型. 数据类型的分类: 可变的数据类 ...
- ABAP 编程
ABAP Programming Language 的内容主要有: 1.数据类型与数据对象 2.内表和内表结构(Internal Table) 3.数据流控制语句 4.模块化(Modularizati ...
- bind,call,applay的区别
方法调用模式: 当一个函数被保存为对象的一个方法时,如果调用表达式包含一个提取属性的动作,那么它就是被当做一个方法来调用,此时的this被绑定到这个对象. var a = 1 var obj1 = { ...
- Executors与ThreadPoolExecutor
最近阿里发布的 Java开发手册中强制线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗 ...