本教程带你从初级到高级全面掌握 Javascript 的使用方法
这是一个很好的简单课程,只需2小时你就可以学习TypeScript基础知识。
本教程带您从零开始学习 Vue 框架的使用,让您轻松应对 Vue 项目的开发。
本教程涵盖Ajax的实现原理,及Ajax封装,最后是框架实现方法。
对比 ES5 进行学习 ES6+,理解 ES6+ 语法背后的思想
Yarn得相关基础知识和高级进阶
从零开始学习 ECharts ,掌握 ECharts 核心内容
本课程从盒模型、文字、颜色、过渡、动画、布局、伪类等方面介绍 CSS3 的使用。
本文详细介绍了雪碧图的由来历史以及各种使用方式
由于移动互联网的兴起,移动端项目占据了很大一部分比重,本章将详细讲解几种常见布局
最新一代的HTML标准,增加了许多实用的特性
前端项目中 Sass 的快速入门教程
从零讲解 HTML,掌握基础 HTML 知识内容
本教程带你从初级到高级全面掌握canvas的使用方法
从零开始学习 uni-app 框架,轻松上手应用开发
本教程使您掌握 Nginx 安装、配置、核心模块的详解、实际使用的能力。
从协议原理开始到 Web 服务器以及 Web 安全一网打尽
从 Docker 的基础概念开始,从实际问题入手带你学习 Docker
本教程由浅入深,系统性的讲解Linux Shell脚本编程。
本教程从安装 Linux 开始,囊括 Linux 基础命令操作以及进阶系统管理
本教程使您掌握实际使用gradle进行项目构建、测试、打包、发布的能力。
课程主要讲解Vim的安装配置,四种模式、基本操作,以及包管理工具和寄存器等内容。
本教程从什么是 REST 开始带你领略 Web 开发中无处不在的规范
DW 是一款同时具有网页制作和网页管理功能的网站开发工具,可以快速进行网站建设
本课程涵盖 Markdown 的基本及扩展语法。
从最基础的安装 Maven 开始到 Maven 在开发中的实际应用
本教程从Eclipse安装开始带你轻松掌握Eclipse常用开发技巧
本教程带你轻松掌握最实用的 GitHub 知识
Android Studio 编程技巧一网打尽
工作经常用到的 PyCharm 编辑器使用技巧一网打尽
花里胡哨展示sublime编辑器的各种功能
Postman 由Google 开发用来做接口请求测试,前后端开发人员都可以使用
从入门到精通。
本教程从语法基础、进阶知识等各方面详解 C 语言。
本教程从 Go 语言的基本语法掌握到进阶编程实践
从 Kotlin 的基础语法到高级特性一网打尽
本教程从 Ruby 的各种对象开始学习到 Ruby 的实际使用
本教程主要讲解 ThinkPHP 框架如何上手开发应用
深入浅出讲解 Java 语言基础知识,带你入门 Java 语言
为你解析最实用的 Android 技术,让你平滑上手,顺利进阶,为开发保驾护航
分析讲解常见算法的思想及使用
通俗易懂的带你了解 Java 数据结构
本教程展现了Lambda表达式的基础语法以及在程序中的应用
本教程为Java并发原理入门教程,在Java程序开发中占据着举足轻重的地位
带你分析最常见的九个设计模式
本课程简洁明了展示最基本的并发工具类相关概念及应用方法。
JVM 入门教程,对JVM结构进行分模块讲解,简单易懂。
超系统的RabbitMQ基础知识课程,你还在等什么?
Java 网络编程核心要点详解
带你系统梳理后端高频面试题,轻松丰富你的校招&社招阶段
循序渐进讲解 Spring Boot 企业级应用开发
通俗易懂 渐进式讲解 Spring 企业级开发应用
由浅入深讲解 Hibernate 企业级 JDBC 应用框架
本教程整理出"百分之二十"的知识,帮你办到"百分之八十"事情
通俗易懂讲解 Spring MVC 框架应用
本课程以图文并茂的方式带你学习 Swagger 核心知识和应用剖析
由浅入深的 学习 ZooKeeper 的基本使用以及高级使用
由浅入深的讲解 Netty 的核心知识体系,快速上手使用和理解 Netty
本课程涵盖了 Spring Security 框架的基本原理和集成方法
系统介绍 Hystrix 支持特性与实际应用场景实战
本教程带你从 Python 的基础语法开始学习 Python。
本教程从爬虫基础知识到进阶技巧到实际应用。
本教程涵盖 Python 的面向对象、标准库解析、异常处理直至最后的领域应用
用 Python 代码实现常用算法并汲取算法核心思想。
从 Web 基础到 Django 框架的实际开发应用
Flask 框架快速入门实现一个 TodoList 功能
本教程从基础的数据类型开始到 NumPy 的高级应用一网打尽
从爬虫基础开始到使用 Scrapy 框架抓取各大网站数据
通过本教程对 TensorFlow 框架快速入门
本教程带你使用Python快速操作Excel、Word、PPT,处理各种文件
本教程从基础的数据类型开始到 Pandas 的高级应用一-网打尽
本教程主要讲解 MySQL 增删改查等基础操作
本教程讲解使用 SQL 访问和处理数据系统中的数据的方法。
那些你还不理解的 MySQL 高阶特性一网打尽
编程范式是计算机编程的基本风格或典范模式。如果说每个编程者都在创造虚拟世界,那么编程范式就是程序员置身其中采用的世界观和方法论。
常见的编程范式包括:
编程范型提供了程序员对程序执行的看法:在面向过程编程中,程序员认为程序是一系列相互调用的过程或者函数;在面向对象编程中,程序员认为程序是一系列相互作用的对象;而在函数式编程中一个程序会被看作是一个无状态的函数计算的序列。
不同的编程语言也会提倡不同的编程范式,一些语言是专门为某个特定的编程范式设计的。例如,C 支持面向过程编程,Java 支持面向对象编程。Python 编程语言支持多种编程范式,应该在不同的应用场景下,选择合适的编程范式。
面向过程编程是一种以过程为中心的编程思想,程序由一系列相互调用的过程组成。面向过程编程的主要思想是关注计算机执行的步骤,即一步一步告诉计算机先做什么再做什么。
面向过程编程特别适合解决线性(或者说按部就班)的算法问题。在这类算法问题中,解决问题的途径由多个步骤构成,使用函数描述每个步骤,因此使用函数对问题建模非常合适。
面向过程编程强调 "自顶向下" 和 "精益求精" 的设计方式。解决一个复杂的问题的方法是将问题划分为多个子问题,将子问题再继续分解直到问题足够简单到可以在一个小步骤范围内解决。
面向过程编程不足之处就是它不适合某些种类问题的解决,例如图形化编程,在图形化编程中,客观世界由具体的对象(窗口、标签、按钮等)组成,无法自然的将函数与图形对象一一对应,因此面向过程编程不适合用于图形化编程的领域。
本节采用面向过程编程的方式完成这样的任务:将文本文件中小写字母转换为大写字母。将任务划分为 3 个步骤:
任务被划分为 3 个简单的子任务,然后使用函数实现每个子任务,采用面向过程编程的方式解决这样的问题非常自然。
设计与实现的步骤如下:
| 任务名称 | 函数名 | 任务功能描述 |
|---|---|---|
| 主任务 | main | 执行子任务 |
| 读取任务 | read_file | 读取文本文件的内容 |
| 转换任务 | transform | 将小写字母转换为大写字母 |
| 保存任务 | save_file | 把转换后的内容保存到文件中 |
def read_file(path):
pass
def transform(input):
pass
def save_file(path, content):
pass
def main():
input = read_file("test.txt")
output = transform(input)
save_file("test.txt", output)
main()
def read_file(path):
lines = ''
file = open(path)
for line in file:
lines += line
file.close()
return lines
def transform(input, output):
output = input.upper()
return output
def save_file(path, content):
file = open(path, "w")
file.write(content)
file.close()
面向对象编程是一种以对象为中心的编程思想,程序由一系列相互作用的对象组成。面向对象编程中,程序包含各种独立而又互相调用的对象,而在面向过程编程中,将程序看作一系列函数的集合。
面向对象程序设计方法是尽可能模拟人类的思维方式,使得软件的开发方法与过程尽可能接近人类认识世界、解决现实问题的方法和过程,也即使得描述问题的问题空间与问题的解决方案空间在结构上尽可能一致,把客观世界中的实体抽象为问题域中的对象。
例如图形化编程,在图形化编程中,客观世界由具体的对象(窗口、标签、按钮等)组成,可以自然的将对象与图形对象一一对应,因此面向对象编程适合用于图形化编程的领域。
面向对象编程包含通过类、实例、属性和方法等核心概念:
下面的代码演示了以上 4 个基本概念:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def show(self):
print('My name is %s, I am %d years old' % (self.name, self.age))
tom = Person('tom', 10)
jerry = Person('jerry', 12)
tom.show()
jerry.show()
封装是将数据和代码捆绑到一起,对象的某些属性和方法可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。防止了程序相互依赖性而带来的变动影响,有效实现了两个目标:对数据和行为的包装和信息隐藏。
在下面的程序中,类 Span 描述了间距,间距有 3 个属性:
使用封装通过方法访问这些属性,而不是直接访问这些属性,代码如下:
class Span:
def __init__(self, start, end):
self._start = start
self._end = end
def get_start(self):
return self._start
def get_end(self):
return self._end
def get_length(self):
return self._end - self._start
span = Span(10, 100)
print('start = %d' % span.get_start())
print('end = %d' % span.get_end())
print('length = %d' % span.get_length())
程序运行输出如下:
start = 10
end = 100
length = 90
继承是一种层次模型,这种层次模型能够被重用。层次结构的上层具有通用性,但是下层结构则具有特殊性。在继承的过程中,子类则可以从父类继承一些方法和属性。子类除了可以继承以外同时还能够进行修改或者添加。
下面的例子描述父类 Person 和子类 Teacher 之间的继承关系,子类 Teacher 从父类 Person 继承了一些方法和属性,父类 Person 代码如下:
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def introduce(self):
print('My name is', self.name)
print('My age is', self.age)
子类 Teacher 代码如下:
class Teacher(Person):
def __init__(self, name, age, salary):
Person.__init__(self, name, age)
self.salary = salary
def showSalary(self):
print('My salary is', self.salary)
teacher = Teacher('tom', 30, 5000)
teacher.introduce()
teacher.showSalary()
程序运行输出如下:
My name is tom
My age is 30
My salary is 5000
在面向对象语言中,接口的多种不同的实现方式即为多态。多态机制使具有不同内部结构的对象可以共享相同的外部接口,它是面向对象程序设计(OOP)的一个重要特征。
下面通过一个具体的例子演示多态的意义:有多种类型的形体,例如:正方形、三角形等。但是,不论形体的类型是什么,每一种形体都有周长的概念。显然,计算每种形体的周长的公式是不一样的。面对抽象的形体时,希望能够获取形体的周长。
首先,定义父类 Shape,代码如下:
class Shape:
def get_circle(self):
pass
定义子类 Square,代码如下:
class Square(Shape):
def __init__(self, side):
self.side = side
def get_circle(self):
return self.side * 4
定义子类 Triangle,代码如下:
class Triangle(Shape):
def __init__(self, a, b, c):
self.a = a
self.b = b
self.c = c
def get_circle(self):
return self.a + self.b + self.c
在父类 Shape 中定义了接口 get_circle ,子类 Square 和子类 Triangle 分别实现了接口 get_circle。只要对象的类型是 Shape,不论具体的类型是 Square 还是 Triangle,都可以调用接口 get_circle,代码如下:
square = Square(10)
triangle = Triangle(3, 4, 5)
shapes = [square, triangle]
for shape in shapes:
print(shape.get_circle())
程序运行输出如下:
40
12
比较经典的面向过程编程语言有 C。面向对象编程是编程语言技术迈出的一大步,面向对象的出现让我们的代码能够更好的描述我们的世界。现在的主流编程语言已经纷纷开始支持面向对象,所以掌握面向对象编程是成为一个好的程序员的基本。
0/1000