twister

python3: 数字日期和时间(1)

瘦欲@ 提交于 2021-02-09 09:24:08
1. 数字的四舍五入 Q: 你想对浮点数执行指定精度的舍入运算 A: 简单的使用内置的round(value, ndigits)函数即可。 >>> round(1.23, 1 ) 1.2 >>> round(1.27, 1 ) 1.3 >>> round(-1.27, 1 ) -1.3 >>> round(1.25361,3 ) 1.254 >>> 当一个值刚好在两个边界的中间的时候, round 函数返回离它最近的偶数。 也就是说,对1.5或者2.5的舍入运算都会得到2。 >>> round(1.25 ) 2 >>> round(2.5 ) 2 传给 round() 函数的 ndigits 参数可以是负数,这种情况下, 舍入运算会作用在十位、百位、千位等上面。比如: >>> a = 1627731 >>> round(a, -1 ) 1627730 >>> round(a, -2 ) 1627700 >>> round(a, -3 ) 1628000 >>> 区别:格式化() >>> x = 1.23456 >>> format(x, ' 0.2f ' ) ' 1.23 ' >>> format(x, ' 0.3f ' ) ' 1.235 ' >>> ' value is {:0.3f} ' .format(x) ' value is 1.235 ' >>> 2.

NB的程序员,亮瞎了你的眼吗?

人盡茶涼 提交于 2021-01-15 19:13:08
郑重声明 : 本文首发于 人工博客 1、导读 你能想象到1K的代码能写出什么样的功能强大、效果炫酷的作品吗?来吧,今天小编带领大家认识下下面这位大神的作品。 西班牙程序员Roman Cortes用纯JavaScript脚本编写的玫瑰花。 这才是牛逼程序员送给女友的最好情人节礼物呢!(提示:在不同浏览器下观看效果、速度会有很大的不同) 2、先来张效果图 在线预览 预览效果1: 预览效果2 3、原理解读 3.1 蒙特卡罗方法 蒙特卡罗方法是令人难以置信的强大的工具。我用他们所有的时间,对于很多类型的函数优化和抽样问题,他们几乎像魔法一样当你有更多的CPU时间比设计和编码算法。在上升的情况下,它是非常有用的代码大小的优化。 如果你不知道很多关于蒙特卡罗方法,你可以读到他们在这个优秀的维基百科文章。 3.2 明确的表面和采样/绘图 定义的形状玫瑰我使用多个explicit-defined表面。我使用一个共有31表面:24花瓣,萼片4(周围的薄叶花瓣),2叶和1的玫瑰。 这些显式的表面如此,它们是如何工作的?它是很容易的,我要提供一个二维的例子: 首先我定义明确的表面功能: function surface(a, b) { // I'm using a and b as parameters ranging from 0 to 1. return { x: a*50, y: b*50 };

卡巴斯基报告:Lazarus APT 组织的大型狩猎游戏

非 Y 不嫁゛ 提交于 2020-08-11 08:22:38
原文链接: Lazarus on the hunt for big game 译者:知道创宇404实验室翻译组 毫无疑问,2020 年将成为历史上令人不愉快的一年。在网络安全领域,针对目标的勒索软件攻击日益增加,集体的伤害就更加明显。通过调查许多此类事件,并通过与一些值得信赖的行业合作伙伴讨论,我们认为我们现在对勒索软件生态系统的结构有了很好的了解。 勒索软件生态系统的结构 犯罪分子利用广泛传播的僵尸网络感染(例如,臭名昭著的 Emotet 和 Trickbot 恶意软件家族)传播到受害者和第三方开发者的勒索软件“产品”的网络中。当攻击者对目标的财务状况和IT流程有充分了解后,他们就会在公司的所有资产上部署勒索软件,并进入谈判阶段。 这个生态系统在独立、高度专业化的集群中运行,在大多数情况下,除了业务联系之外,这些集群彼此之间没有联系。这就是威胁行为者的概念变得模糊的原因:负责最初破坏的组织不太可能是破坏受害者的 Active Directory 服务器的一方,而该服务器又不是事件中实际使用的勒索软件代码的一方。更重要的是,在两起事件中,同一罪犯可能会交换业务伙伴,并且可能利用不同的僵尸网络或勒索软件家族。 当然,没有一个复杂的生态系统可以用一套单一的、严格的规则来描述。在本文中,我们描述了2020年3月至2020年5月之间进行的两次调查中出现的异常之处。 事件一:VHD 勒索软件

Python开源微博工具:Twitter

こ雲淡風輕ζ 提交于 2020-02-28 23:50:54
原文来自:https://www.oschina.net/p/python-twitter 前言 python-twitter“围绕 Twitter API 及 twitter 数据模型的一个 python 包装程序”。现在已经有几个库可以通过多种语言与 Twitter 的服务交互 — 从 Ruby 到 Eiffel,几乎任何语言。目前,有五个库可以交互 Python 与 Twitter,它们是 DeWitt Clinton 的 Python-twitter、Andrew Price 的 python-twyt、Dustin Sallings 的 twitty-twister、Ryan McGrath 的 twython 以及 Josh Roesslein 的 Tweepy。 python-twitter 库需要依赖项 simplejson 学习从来不是一个人的事情,要有个相互监督的伙伴,工作需要学习python或者有兴趣学习python的伙伴可以私信回复小编“学习” 获取资料,一起学习 小礼物走一走,来简书关注我 来源: oschina 链接: https://my.oschina.net/u/4104998/blog/3045980

PHP 的 uniqid 函数产生的 id 真的是唯一的么?

你说的曾经没有我的故事 提交于 2019-12-09 20:15:40
最近使用到了 uniqid,就产生了疑问?uniqid 生成的 id 由什么组成?真的是唯一的么?什么情况下会产生冲突? 从文档中看到 uniqid 函数有两个参数 uniqid 的结构 看源码: PHP_FUNCTION(uniqid) { ... gettimeofday((struct timeval *) &tv, (struct timezone *) NULL); sec = (int) tv.tv_sec; usec = (int) (tv.tv_usec % 0x100000); ... if (more_entropy) { uniqid = strpprintf(0, "%s%08x%05x%.8F", prefix, sec, usec, php_combined_lcg() * 10); } else { uniqid = strpprintf(0, "%s%08x%05x", prefix, sec, usec); } RETURN_STR(uniqid); } 基本就了解清楚了。uniqid 是由四个部分组成: prefix + sec + usec + “.” + php_combined_lcg 其中 prefix 就是 uniqid 函数的第一个参数。它是一个字符串,传递进来什么,就直接返回什么。 sec 是当前时钟的秒,usec 是毫秒