
编程语言
洒满阳光的午后
小打小闹
-
翻译 为何糟糕的代码随处可见?
想知道为什么糟糕的代码随处可见吗?本文会告诉你以下三个原因。过去几天,我一直在苦思冥想,为什么我们的行业每时每刻都会生产烂代码。能使用高质量代码搭建系统的开发人员真的非常之少,少如大海捞针。1、显而易见的原因我能想到的最明显的原因就是程序员有好坏之分、技术水平有高低之分,有人对这份工作充满热爱而有人只关心工资。所以,对此我不再深究。表层的原因还有多少?导致烂代码的根本原因又是什2016-08-20 10:12:23412
0
-
原创 CodeWars刷题记录20180907-Python
1、判断一个整数是否为完全平方数我的解答:import mathdef is_square(n): if n < 0: return False else: a = int(math.sqrt(n)) return a*a == n 漂亮解答:import mathdef is_square(...2018-09-08 10:07:26411
1
-
转载 Python 直接赋值、浅拷贝和深度拷贝解析
直接赋值:其实就是对象的引用(别名)。 浅拷贝(copy):拷贝父对象,不会拷贝对象的内部的子对象。 深拷贝(deepcopy): copy 模块的 deepcopy 方法,完全拷贝了父对象及其子对象。 字典浅拷贝实例实例>>>a = {1: [1,2,3]} >>> b = a.copy() >>> a, ...2018-09-11 14:57:2380
0
-
原创 寻找最长重复子串——Python
题目描述:给定一个字符串,找出其中最长重复字串,以元组形式返回结果。例如,给定“aaaabb”,最长重复子串为“aaaa”,返回结果为('a',4)。解题思路:将字符串中每个字符向后的重复次数列出,其中的最大值即为最长重复串的长度,对应的字符即为重复字符。例如:a a a a b b4 3 2 1 2 1最大值为4,对应的字符为"a"代码实现:def long...2018-09-04 15:27:575258
1
-
原创 给定字符串s返回含有连续两个s作为子串的最短字符串的一种简单解法——Python版
题目描述:1. 给定你一个字符串s。请返回含有连续两个s作为子串的最短字符串。请注意两个s可能会有重叠部分。输入:输入一个字符串s。s含有1到50个字符(其中包括1和50),s中每个字符都是一个小写字母(从a到z)输出:返回含有连续两个s作为子串的最短字符串举例:s = "aba",返回"ababa"。 思路:寻找最长首尾重叠部分即可,例如:abracad...2018-09-04 15:10:177623
5
-
原创 20分钟学会正则表达式
程序员的世界有个笑话,在你遇到困难并决定使用正则表达式的时候,你会发现你又多了个困难。正则表达式是个非常强大的工具,老练的程序员常把它当作最后的杀手锏,一旦使用,必会技惊四座。正则表达式是一种专门用于定义文本的模式匹配规则的语言(英文称作Regular Expressions,现在计算机界更正规的术语是regex-es)。正则表达式有自己的语法和语法规则,初学者使用起来极易出错,但它的价值使你不能不2017-04-22 16:08:451705
1
-
原创 2.3-变量的大小与sizeof操作符
从2.1节《详解变量的定义、初始化与赋值》的学习中我们了解到,现代计算机的内存通常是按byte大小的单元进行组织的,每个单元都是唯一的标识地址,从这个意义讲,我们可以形象地把内存看成一系列文件夹/邮箱,可以用来存放和检索信息,变量就是用来访问这些文件夹/邮箱的名称。但是,这样的类比从某方面看也是不准确的——大多数的变量实际上占用超过一个字节的内存,单个变量可能使用2个、4个甚至8个连续的内2017-01-16 18:40:14246
0
-
原创 2.2-void
void是最易于解释的数据类型,因为void的意思就是“无类型”,因此,void类型不能用来定义变量。void value; // 错误void通常用于以下几种情形中:(1)也是最常用的,表示函数不返回任何值。void writeValue(int x){ std::cout "The value of x is: " std::endl; // 无返回语2017-01-16 18:39:10162
0
-
原创 2.1详解变量的定义、初始化与赋值
这一节我们将继续《1.3变量初探》的内容。在前的课程中我们谈到,变量其实就是一块内存空间的名称。简要地说,计算机拥有可供程序使用的随机存取存储器(RAM),当一个变量被定义时,一部分内存就会被预留给这个变量。内存的最小单位是二进制数字(binary digit,bit,比特),0或者1。你可以把bit想象成传统的电灯开关——要么是关的(0),要么是开的(1),不存在两者之间的状态。2017-01-16 15:39:344284
0
-
翻译 设计模式是工具,而不是目标
在我职业生涯的早期,我曾认为设计模式就是软件开发的全部。我所有的系统设计都是从选择一个合适的设计模式开始的:工厂模式、仓储模式、单例模式等等,但是后来我发现这样的系统很难维护,更难以与同事交流。事实上,我并没有正确理解设计模式的用处。五年之后,研究设计模式已经成了我的日常工作,目标是论证这些模式在C#.NET环境下是如何帮助我们维护项目的。我建立并记录了一些模式的例子,包括适配器模式、外观模式2016-08-20 10:12:41313
0
-
翻译 5种最有前途的编程语言
在编程领域保持流行就像《爱丽丝镜中奇遇记》中的红棋王后所说,“如果保持在原地用尽了你所有的速度,那么到达另一处最起码需要两倍于此的速度”。也许你精通Ruby on Rails,很好,但用于数据分析的R语言呢?想在Google工作吗?那么忘掉Python,开始学习Go语言吧。R如果你知道R语言1994年就被发明了,或许会感到惊讶。R语言是由奥克兰大学的Ross Ihaka和Rober2016-08-20 10:12:3113024
0
-
原创 CodeWars刷题记录20180911-Python
1、Simple Pig LatinMove the first letter of each word to the end of it, then add "ay" to the end of the word. Leave punctuation marks untouched.Examplespig_it('Pig latin is cool') # igPay atinla...2018-09-11 10:15:26643
0