HiKariのTechLab

光の技术屋


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 搜索

【Easy Python】第二话:映射——输入、输出与函数的纽带

发表于 2019-03-16 | 更新于 2024-04-07 | 分类于 Easy Python

从dict开始说起

学python的时候,我们一定会接触到dict(字典)这个数据结构。

dict结构展示了数据间(key与value)一一对应的关系,key作为一个查询索引,是不允许有重复的,而不同key所对应的value,则允许重复值的存在。

比如说,我们定义一群boys&girls,打出整个dict,再打出girls有哪些,可以这样操作:

1
2
3
4
5
6
7
8
import pprint
d = dict()
d['girl'] = ['迪丽热巴', '王鸥', '鬼鬼']
d['boy'] = ['大碗宽面']
# 用pprint.pprint函数打印数据结构,使得其排版更加pretty~
pprint.pprint(d, indent=2)
# 单用pprint.pformat,可以返回一个排版过后的字符串,打印出来要额外print操作~
print('Girls are: %s' % pprint.pformat(d['girl']))

打出来的效果是:

1
2
{'boy': ['大碗宽面'], 'girl': ['迪丽热巴', '王鸥', '鬼鬼']}
Girls are: ['迪丽热巴', '王鸥', '鬼鬼']

我们可以很直观地看到这种对应关系

映射

像dict数据结构给我们展现的一样,数据间的对应关系,我们可以统称为:映射(Mapping)

如同第一话所说,程序的本质即为输入->函数->输出。输入和输出,就是一种映射关系,而实现这种映射的规则,就是函数。在dict里面,实现映射的函数,可以简化如下:

阅读全文 »

【Lua杂谈】解锁lua代码覆盖率测试:luacov源码分析

发表于 2019-03-10 | 更新于 2024-04-07 | 分类于 Lua杂谈

Lua 杂谈系列,就以代码覆盖率测试的 luacov 开头吧

简介

说到 lua 的覆盖率测试,我们一般都会想到用luacov做代码覆盖率测试
在干货|使用 luacov 统计 lua 代码覆盖率一文中,介绍了基本的 luacov 用法,但是缺少对 luacov 深入挖掘的相关内容。并且同时,原生的 luacov 提供了一套简洁的覆盖率测试实现以及报告输出形式,但是在实际许多场景中,采用原生 luacov 还是远远满足不了需求的
因此,本文旨在通过分析 luacov 的实现,帮助希望了解 lua 代码覆盖率测试或是使用、二次开发 luacov 的同学尽快上手

获取代码覆盖率数据

luacov 获取代码覆盖率数据,得益于 lua 自带的 debug 库。我们从 luacov 的主类 runner 中,可以一探究竟

阅读全文 »

【Easy Python】第一话:print('HelloWorld')——输入、输出与函数

发表于 2019-03-09 | 更新于 2024-04-07 | 分类于 Easy Python

前言

这个年代,连小学生都会Python了,我家领导还是一行代码都打不出。
网上的Python教程一抓一大把,但出于让人更加深刻理解以及实用的目的(尤其是我家领导),Easy Python,开始挖坑!

安装Python

这个没有教程= =,请安装3.*最新版Python
编辑器建议为vscode 、sublime之类(记得装插件),如若觉得装插件烦可直接上pycharm
Easy Python系列不展现实时交互式命令~

HelloWorld

学程序的第一行代码,大概都是Hello World吧!

1
print('Hello World!')

然后命令行里,就会输出:

1
Hello World!

那如果要打出1行100个Hello World的话,该怎么办呢?
如果这样的话:

1
2
for i in range(100):
print('Hello World')

试试看,会打出100行HelloWorld,不符合我们的需求
这个时候,该怎么办?

阅读全文 »
1…2021
ひかり.HDQ

ひかり.HDQ

talk is cheap, code is rich
203 日志
14 分类
423 标签
GitHub Mail CSDN Juejin Steam Bilibili
© 2019 – 2025 ひかり.HDQ
|