白马负金羁
数据挖掘 | 统计分析 | 图像处理 | 程序设计
展开
-
Python面向对象中的super详解
Python中关键字super主要用来调用父类的方法,当我们调用 super() 的时候,实际上是实例化了一个 super 类,而非关键字或者函数等其它数据结构。在大多数情况下,super 包含了两个非常重要的信息: 一个 MRO (方法解析顺序)以及 MRO 中的一个类转载 2023-02-15 08:46:34 · 657 阅读 · 0 评论 -
脚本语言Bash简明教程【3】(完结篇)
Bash, Bourne-Again SHell,是Bourne shell的后继兼容版本与开放源代码版本, Unix shell的一种。在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上。Bash是一个命令处理器原创 2022-12-17 08:42:57 · 441 阅读 · 0 评论 -
脚本语言Bash简明教程【2】
Bash, Bourne-Again SHell,是Bourne shell的后继兼容版本与开放源代码版本, Unix shell的一种。在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上。Bash是一个命令处理器原创 2022-12-14 09:25:06 · 313 阅读 · 0 评论 -
脚本语言Bash简明教程【1】
Bash, 即Bourne-Again SHell,是Bourne shell的后继兼容版本与开放源代码版本, Unix shell的一种。在1987年由布莱恩·福克斯为了GNU计划而编写。1989年发布第一个正式版本,原先是计划用在GNU操作系统上,但能运行于大多数类Unix系统的操作系统之上。Bash是一个命令处理器,通常运行于文本窗口中,并能执行用户直接输入的命令。Bash还能从文件中读取命令,这样的文件称为脚本。它支持通配符匹配、管道、命令替换、变量,以及条件判断和循环遍历的结构控制语句原创 2022-12-09 06:12:42 · 393 阅读 · 0 评论 -
Linux信号详解:signal与sigaction函数【1】
在此前的系列文章中,我们已经介绍了signal函数的基本用法,本文将通过若干例子帮助读者增进对于它的了解,特别地,本文还要重点解释Sigaction的使用方法原创 2022-10-07 11:21:39 · 610 阅读 · 0 评论 -
Linux信号详解:signal与sigaction函数【2】
前面已经讨论了Linux操作系统中“信号”、“中断”、“僵尸进程”’等重要概念。结合C语言中的setjmp、longjump、sigsetjum和siglongjmp,读者也知道了如何实现异常处理。通过signal和sigaction,我也知道了如何修改或者屏蔽默认的信号处理函数。这是本系列文章的最后一篇。本文将通过具体代码实例来深化上述重要概念和方法的理解原创 2022-10-11 08:21:37 · 581 阅读 · 0 评论 -
操作系统中的信号与异常:sigsetjmp和siglongjmp【1】
在计算机科学中,信号是Unix或类Unix以及其他POSIX兼容的操作系统中进程间通讯的一种有限制的方式。它是一种(事件发生时对进程的)异步通知机制,用来提醒进程一个事件已经发生(有时也称为软件中断,或者异常)原创 2021-12-07 12:03:38 · 845 阅读 · 0 评论 -
操作系统中的信号与异常:sigsetjmp和siglongjmp【2】
在信号处理程序中经常调用longjmp函数以返回到程序的主流程中,而不是从该处理程序返回。如果用longjmp跳出信号处理程序,那么,对此进程的信号屏蔽字会发生什么呢?(setjmp和longjmp保存和恢复信号屏蔽字,还是不保存和恢复,不同的实现各有不同)这也就是调用longjmp的一个问题原创 2021-12-07 14:17:50 · 654 阅读 · 0 评论 -
异常处理在C语言中的实现:基于setjmp和longjmp
在C标准库中有两个非常有用的函数setjmp 和 longjmp ,基于它们可以实现类似Python或Java等语言中的异常处理机制(try... catch ...)原创 2016-01-12 12:35:14 · 7947 阅读 · 5 评论 -
深入详解Linux进程间通信之共享内存(Shared Memory)【1】
在Linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方法。专栏前面的文章中演示过使用pipe、shared memory、unix domain socket进行IPC的方法。彼时,关于共享内存的例子比较简单,仅仅是父子进程间通过system V IPC通信的过程。本文将更进一步探讨Linux进程间通过共享内容进行通信的方法,并演示基于POSIX的共享内存实例原创 2021-11-01 07:33:10 · 743 阅读 · 0 评论 -
深入详解Linux进程间通信之共享内存(Shared Memory)+信号量同步【2】
在Linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方法。专栏前面的文章中演示过使用shared memory进行IPC的方法。本文将更进一步探讨Linux进程间通过共享内容进行通信的方法,包括如何使用Anonymous shared memory,以及如何使用信号量来进行同步等。Shared memory是最快的一种IPC机制原创 2021-11-02 03:02:46 · 741 阅读 · 0 评论 -
Linux多线程编程与同步实例(基于条件变量)
线程(thread)是操作系统能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务原创 2021-09-08 06:08:50 · 286 阅读 · 0 评论 -
Linux进程间通信实例(pipe、shared memory、socket)
在Linux下的多个进程间的通信机制叫做IPC(Inter-Process Communication),它是多个进程之间相互沟通的一种方法。Linux中提供有多种进程间通信的方法:管道(Pipes)、FIFO(或称named pipes)、消息队列、Unix-domain Socket、共享内存(Shared memory)、本文基于实例来演示其中的若干种通信机制原创 2021-09-07 10:18:39 · 1015 阅读 · 0 评论 -
Linux中编写并使用Shared Library
Linux中的shared libraries 文件为共享库,与windows下dll类似,是动态加载的。在链接动态库生成可执行文件时,并不会把动态库的代码复制到执行文件中,而是在执行文件中记录对动态库的引用。本文介绍在Linux中用C语言编写动态链接库并在C/C++中调用.so文件的方法原创 2015-04-01 22:52:48 · 11790 阅读 · 21 评论 -
Python中的list(列表)、tuple(元组)、dict(字典)和set(集合)
列表(list)、元组(tuple)、字典(dict)和集合(set)是Python中内置的四种结构化数据类型。list和tuple都是有序表,但tuple中的内容是不能修改的。字典类型dict存储的内容是键-值(key-value)对。集合则具有无序、不重复的特点原创 2020-07-17 10:15:46 · 13087 阅读 · 2 评论 -
Python中的四种队列(queue)、堆(heap)
Python中提供了四种内置的队列实现,特别地其中的优先级队列可以用来实现堆。此外,在Python中我们也直接使用堆。熟练掌握这些数据结构,在问题求解时可以大大简化代码的实现。文末将结合一道Leetcode题目来作为演示原创 2021-01-29 18:42:28 · 7007 阅读 · 0 评论 -
Python里的print用法总结
在Python中实现命令行输出的函数是print(类似C语言中的printf,或者C++中的cout),但是要格式化print的输出,其实还是需要很多技巧的,本帖主要总结在Python中使用print的一些方法原创 2014-12-16 23:11:19 · 10495 阅读 · 3 评论 -
Python数组二分查找算法模块:Bisect
Bisect是Python中的内置模块,它只包含为数不多的几个函数,用于在Python中提供二分搜索方法(注意二分搜索需在一个有序列表中执行),一旦决定使用二分搜索时,立马要想到使用这个模块原创 2015-11-14 15:20:37 · 7479 阅读 · 0 评论 -
Pandas快捷教程——数据载入
Pandas是Python中非常重要的用于处理结构化数据的开源工具包,基于NumPy实现了许多灵活、强大的高级工具。Pandas的主要数据结构是Series(一维数据)和DataFrame(二维数据),并在此基础上提供了诸如缺失值处理、插入、删除、分组等非常丰富的API原创 2014-04-10 14:39:13 · 7118 阅读 · 0 评论 -
Pandas快捷教程——DataFrame
Pandas是Python中非常重要的用于处理结构化数据的开源工具包,基于NumPy实现了许多灵活、强大的高级工具(Pandas提供的很多功能非常像在Python中使用Excel)。Pandas的主要数据结构是Series(一维数据)和DataFrame(二维数据),并在此基础上提供了诸如缺失值处理、插入原创 2015-12-21 17:11:35 · 14562 阅读 · 0 评论 -
Pandas快捷教程——数据处理(去重、编辑、分组)
Pandas是Python中非常重要的用于处理结构化数据的开源工具包,基于NumPy实现了许多灵活、强大的高级工具,其提供的很多功能非常类似于Excel。Pandas的主要数据结构是Series(一维数据)和DataFrame(二维数据),并在此基础上提供了诸如缺失值处理、插入原创 2015-11-24 12:35:18 · 8054 阅读 · 6 评论 -
Pandas快捷教程——数据处理(拼接、合并、处理缺失数据)
Pandas是Python中非常重要的用于处理结构化数据的开源工具包,基于NumPy实现了许多灵活、强大的高级工,它提供的很多功能非常类似于Excel。Pandas的主要数据结构是Series(一维数据)和DataFrame(二维数据),并在此基础上提供了诸如缺失值处理、插入原创 2016-01-28 19:34:04 · 11724 阅读 · 15 评论 -
常见C/C++笔试题目整理(含答案)1
网上流传的一份常见C++笔试题目汇总,供各位有找工作需要的同学参考之用,因为原文较长,遂采用连载形式,希望对大家有一定帮助。题目来在网络,答案仅供参考,已经有许多大侠发现了其中的问题,如有同学觉得哪道题目有异议,欢迎讨论原创 2010-01-26 23:58:00 · 8914 阅读 · 25 评论 -
常见C/C++笔试题目整理(含答案)2
网上流传的一份常见C++笔试题目汇总,供各位有找工作需要的同学参考之用,因为原文较长,遂采用连载形式,有耐心的同学就请一直跟下去吧,相信一定会有所收获。提前说明一点,题目来在网络,答案是网上资料配的仅供参考,已经有许多大侠发现了其中的问题,如有同学觉得哪道题目有异议,欢迎讨论原创 2010-01-27 00:02:00 · 6944 阅读 · 22 评论 -
常见C/C++笔试题目整理(含答案)3
网上流传的一份常见C++笔试题目汇总,供各位有找工作需要的同学参考之用,因为原文较长,遂采用连载形式,有耐心的同学就请一直跟下去吧,相信一定会有所收获。提前说明一点,题目来在网络,答案是网上资料配的仅供参考,已经有许多大侠发现了其中的问题,如有同学觉得哪道题目有异议,欢迎讨论原创 2010-02-28 22:24:00 · 4928 阅读 · 12 评论 -
常见C/C++笔试题目整理(含答案)4(最终弹)
网上流传的一份常见C++笔试题目汇总,供各位有找工作需要的同学参考之用,因为原文较长,遂采用连载形式,有耐心的同学就请一直跟下去吧,相信一定会有所收获。提前说明一点,题目来在网络,答案是网上资料配的仅供参考,已经有许多大侠发现了其中的问题,如有同学觉得哪道题目有异议,欢迎讨论原创 2010-02-28 22:26:00 · 4073 阅读 · 7 评论 -
我与Visual Basic的那些事儿
Visual BASIC是美国微软公司的一款用于Windows系统开发的应用软件,它已逐渐成长为一种结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言,本文主要是沿着VB发展的脉络,回顾了计算机和程序设计历史上的诸多掌故原创 2017-05-06 17:35:14 · 6085 阅读 · 9 评论 -
Visual Basic快捷教程——Visual Basic 2017 破冰
Visual BASIC,顾名思义,就是可视化的BASIC。它是美国微软公司推出的一种针对Windows操作系统的应用程序开发工具。作为当今世界上使用最广泛的编程语言之一,它也被公认为是编程效率最高的一种编程方法。无论是开发功能强大、性能可靠的商业应用软件,还是编写用于处理具体问题的实用小程序,Visual BASIC都是最快速、最简便的开发工具原创 2017-05-20 17:26:06 · 20594 阅读 · 10 评论 -
Visual Basic快捷教程——变量、常量和运算符
程序中数据最基本的存储单位就是变量,程序执行时会在计算机内存中开辟空间存储变量。而计算机程序的执行基本就是通过读取或操作这些变量来实现的。此外,在某些时候,虽然声明了一个变量,但却不希望这个变量的数值被修改,这种永远不会被修改的量,就称为常量。掌握变量和常量的使用是使用任何一门计算机语言所必备的基础原创 2017-07-25 17:08:43 · 5636 阅读 · 2 评论 -
Visual Basic快捷教程——数组与字符串
将原子型数据按照一定的规则重组,就可以形成结构化数据,数组可以被认为是一种最简单、最朴素的结构化数据类型。字符串可以看成是一种特殊的数组,其中每个元素都是一个字符,所以字符串类型所表示的就是一系列的字符。数组和字符串是编程语言中的重要组成部分,也是实际开发中被大量使用的内容,本文主要介绍Visual Basic 2013中数组与字符串的基本用法原创 2010-10-18 20:11:00 · 8655 阅读 · 88 评论 -
Visual Basic快捷教程——枚举与结构
除了Visual Basic中默认提供的基本数据类型(整型、字符串类型等等)之外,还可以自己定义新的数据类型,从而增强程序设计的灵活性。例如,可以定义一个 Student 类型 或者 Card 类型等等。通常,这些自定义的数据类型都是以编程语言内置的基本数据类型为依托的。而自定义数据类型的实现手段就是借由枚举和结构原创 2015-12-11 15:06:39 · 6351 阅读 · 0 评论 -
Visual Basic快捷教程——流程控制
在顺序执行的过程中,有时希望计算机根据条件判断来选择性地执行(或者不执行)一些代码,这时就需要用到选择结构(或称分支结构)。另外一些时候,希望计算机能够(有条件地)重复地执行某一段代码,这时就需要用到循环结构。顺序执行、选择结构,以及循环结构统称为程序的流程控制。本文主要介绍在Visual Basic中与流程控制有关的一些语法规则原创 2017-04-04 15:14:44 · 8177 阅读 · 5 评论 -
Visual Basic快捷教程——函数与子程序
函数是结构化程序设计的基础。函数的本质就是为了把程序切分成若干个相对独立的模块各司其职,而各个函数的作用也就是仅仅专门负责自己份内的那份功能。在Visual Basic中,函数是一组以Function开头和End Function结尾的封闭程序代码语句。当函数被调用时,便会开始执行函数体内所定义的程序代码原创 2017-04-19 22:30:14 · 9681 阅读 · 4 评论 -
Visual Basic快捷教程——异常处理机制
所谓“异常(Exception)”是指程序运行时所发生的不正常的情况。为了避免程序在运行时发生不正常的错误情况,就需要利用某种机制来捕捉到这些问题,并及时应对随之而来的麻烦,从而避免程序陷入无法继续执行的窘境。本文介绍Visual Basic中提供的异常处理机制,主要包括捕捉异常的 Try... Catch... Finally 结构和自行抛出异常的Throw方法等内容原创 2016-01-23 19:12:05 · 8700 阅读 · 25 评论 -
浅谈编程能力的培养与提高——写给编程初学者的话
很多初学者常常为如何培养自己的编程能力以及如何写出优秀的程序而困惑,即使是掌握多门计算机语言,或者某些信息学竞赛的获奖者,再或者是有过一定编程经验的人也都会在达到一定程度后,因为无法再向前走一步而苦恼。计算机程序设计的世界如果缤纷多彩,为什么很多人只能在门外徘徊而苦于无从下手呢?编程的能力和技巧又应当如何培养呢原创 2009-07-06 13:30:00 · 5513 阅读 · 12 评论 -
浅谈编程能力的培养与提高——学习C++的一些建议
从什么语言入门并不重要,但是一个优秀的程序员至少应该牢牢地掌握住一门语言,最好能够达到“精通”的地步!C++语言具有广大的用户群,拥有丰富的学习资源,更有着广阔的应用前景,因此很多程序设计爱好者都希望能够把C++学好原创 2009-07-06 13:45:00 · 8992 阅读 · 26 评论 -
浅谈编程能力的培养与提高——卓越的程序设计之道
我希望为那些非初学者提一些建议和意见。我将这些意见和建议归结为“卓越程序之道”。请注意,这里说的是“程序”,而非工程或者项目。程序的概念要小很多,因此我们并一定非得从软件工程的角度去考虑它。一个能够被称之为“卓越”的程序可能需要具备许多条件,比如高效、稳定、易读等等。而这众多的特点又有可能彼此矛盾,因此所谓“卓越”往往只是在求得一种平衡,或者说是“整体最优”原创 2009-07-07 11:24:00 · 6033 阅读 · 39 评论 -
排序和查找函数举例(C、C++、Java、Python以及VB)
排序和查找是计算机中最常用的两种操作。每天你在使用计算机时,系统背后都会执行大量的排序或查找工作。本文就以C++、C、Java、Python和VB等5种计算机语言为例,演示如何在其中(通过调用现成的内置函数来)进行排序和查找操作原创 2010-02-28 22:28:00 · 5124 阅读 · 10 评论 -
十种编程语言的注释写法大总结
使用计算机语言进行编程时,注释的内容不会被编译器执行,所以为代码添加注释就是提高代码可读性的一种重要措施。不同计算机语言语法下,注释的写法是不同的,本文介绍十种比较常用的计算机语言的注释写法原创 2009-07-22 14:26:00 · 3654 阅读 · 6 评论 -
匿名函数:从多语言视角阐释
在计算机编程中,匿名函数(anonymous function)是指一类无需定义标识符(函数名)的函数,匿名函数最早是函数式编程语言的一种语法特性,现在的很多编程语言中都提供有支持匿名函数的语法原创 2009-11-22 14:28:00 · 8749 阅读 · 29 评论