< 返回索引页 html
<!-- /TOC -->
< 返回索引页编程
我的PC计算机系统组成分硬件
和软件
量大部分。硬件系统主要由中央处理器、存储器、输入输出控制系统和各类外部设备组成。软件分为系统软件和应用软件。segmentfault
图片来源:百度百科windows
那本教程涉及的部分,为计算机应用软件编程。
第一代电子计算机 - ENIAC
计算机是不能识别人类语言的,那么她们是如何处理任务的呢?计算机归根结底是一种电路设备,她们底层处理都是经过电路的开关来识别。根据这一点,人们就经过将任务指令转化为用0和1的二进制串来标识,从而让计算机系统能够识别。这种直接有二进制代码组成的程序语言叫机器语言
。后来人们在二级制的机器语言上发明了汇编语言
,只用指令集来对应不一样的机器指令,经过汇编过程转换成机器指令来执行。再后来到20世纪中期,一大批高级语言诞生,包括后来应用普遍的C、VB等语言。
如今咱们知道,计算机是使用 0和1 的二进制串来执行指令的。那么这些0和1是如何表示指令的呢? 这便须要一个二进制数据和实际人类语言的一个对应关系,这套对应关系便成为字符编码
。字符编码使用8个二进制位做为一个单位,叫作一个字节
,8个二进制位能够标识256中状态。
ASCII
上世纪60年代,美国制定了一套字符编码,对英语字符与二进制位之间的关系,作了统一规定。这被称为 ASCII 码,一直沿用至今。
ASCII 码一共规定了128个字符的编码,好比空格SPACE是32(二进制00100000),大写的字母A是65(二进制01000001)。这128个符号(包括32个不能打印出来的控制符号),只占用了一个字节的后面7位,最前面的一位统一规定为0。
随着计算机的普及,ASCII码已经不能知足人们的需求,除英语外的其余语言没法用ASCII编码来映射。因而,各国家本身制定一些编码,如我国制定了简体中文GB2312
,使用2个字节来标识一个汉字,便可表示256*256=65535个汉字,后来的升级版GBK
,这种以2个字节来表示的编码成为ANSI编码
;欧洲国家则使用没有使用的首位二进制位来制定了标识字符的标准。
Unicode
随着计算机的发展普及,不统一的编码问题,极大的影响了计算机的发展及交流。Unicode (统一码,万国码)编码此时应运而生,1991年由统一码联盟首次发布标准。他使用2到4个字节来表示一个字符,一个字符的Unicode编码是肯定的。Unicode 是一个很大的集合,如今的规模能够容纳100多万个符号,详细可见Unicode编码表,如今还在完善扩充。
Unicode 只是一个符号集,它只规定了符号的二进制代码,却没有规定这个二进制代码应该如何实现。形成如下问题:
UTF
Unicode 编码表示同一个字符时,比ASCII码的占用空间大的多,这在网络传输过程当中是很是占用资源的。Unicode的实现方式不一样于编码方式,是有多重实现方式的,为了节省空间,人们设计了可变长的Unicode实现方式,Unicode的实现方式称为Unicode转换格式(Unicode Transformation Format,简称为UTF)。UTF-8 就是在互联网上使用最广的一种可变长 Unicode 的实现方式。除了UTF-8含有 UTF-1六、UTF-32等版本。
总结以下:
计算机编码基本分类以下:
图片来源:regexlab
扩展阅读:
发展至今,如今计算机中,当内存处理时统一使用了Unicode编码,当须要保存到硬盘或者须要传输的时候,就转换为UTF-8等可变编码。由于UTF编码的可变性,在内存中处理很是耗时,在内存中统一使用Unicode编码,Unicode在编码方式上对应的字符是惟一的。在存储和专属时,UTF编码则更节省空间。
咱们先来看一段Python代码:
name = input('请输入姓名:') def say_hello(name='Tim'): print('%s,hello!'%name) say_hello(name)
咱们来看下这段程序作了什么事?程序提示咱们输入姓名,当咱们输入姓名后,程序把咱们录入的姓名加工组成了一条语句,打印了出来。在这个过程当中,计算机内部是如何运做的呢?程序运行时,它在计算机的内存中开辟了一块空间,用来存储咱们接下要录入的信息。当咱们输入姓名后,它把姓名和内部定义好的hello拼接在一块儿,打印了出来。
咱们把这种存储可变化的值的对象叫作变量
。相对应的存储不可变值的对象叫作常量
。而处理咱们输入数据的这块代码叫作方法
。方法有方法名(say_hello)、参数(name)、和方法体(print)组成。其中最复杂的地方即是这个方法体,这个方法的功能和处理任务的逻辑都在这块。
变量、常量和方法,以及方法体中复杂的控制逻辑语法共同构成了一套基本的编程语言。
window系统可直接从官网下载地址对应操做系统位数的exe安装包,安装便可。
安装时须要注意一下几点:
python
命令。安装完毕后,打开系统CMD窗口,输入python命令,见到以下信息便说明成功。
$ python3 Python 3.6.5 (default, Mar 30 2018, 06:42:10) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>>
mac 系统自带了python2.7。咱们开发使用python3.6,那怎么办呢?建议从新安装python3.6,而不是升级系统版本,由于系统python为mac系统自带的许多工具提供了语言环境,咱们尽可能不要去污染系统自带的python,以避免形成系统工具不可用的状况发生。
那如何安装python3.6呢?咱们建议使用brew
mac软件包管理工具统一安装,执行以下命令便可:
brew install python
安装完毕后,在咱们的命令行终端中输入python命令检查是否安装成功。
Linux系统同mac同样也自带了python。一样建议咱们安装本身开发使用的python包,不要污染系统python包。Linux 系统安装比较麻烦,须要咱们本身编译安装,具体步骤以下:
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tgz tar zxvf Python-3.6.5.tgz
cd Python-3.6.5 ./configure --with-ensurepip=install make && make install
安装成功后,会在/usr/local/bin
路径下增长python3命令,咱们运行 python3
命令即是执行了咱们刚才安装的python,执行python
命令则会运行系统自带的python。
一样,在终端运行python3命令检测是否安装成功。
在命令行终端下,输入 python
即打开了python的交换式环境,这是解释性语言特有的。 在此环境下,咱们能够直接运行python代码,来作简单的测试。
$ python3 Python 3.6.5 (default, Mar 30 2018, 06:42:10) [GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.39.2)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> print('hello, world!') hello, world! >>>
退出交互式环境,使用exit()
。
针对于windows用户,python 自带了一个python shell小工具 IDLE。带有代码高亮和提示功能,如图:
ipython 在命令行终端中使用,提供了代码高亮和提示功能, 是mac和linux用户经常使用的python shell。
sublime, 是一款插件式的代码编辑器,可经过安装不一样的插件模块来支持不一样语言和扩展功能,而且扩平台。
可经过以下步骤安装配置:
一、能够经过官方网站下载安装程序安装Sublime 3或Sublime 2。
二、安装包管理工具。经过快捷键Ctrl+`或者在View菜单中选择Show Console打开控制台,输入下面的代码。
# Sublime 3 import urllib.request,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();urllib.request.install_opener(urllib.request.build_opener(urllib.request.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib.request.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()) # Sublime 2 import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp)ifnotos.path.exists(ipp)elseNone;urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler()));open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read());print('Please restart Sublime Text to finish installation')
SublimeCodeIntel - 代码自动补全工具插件 Emmet - 前端开发代码模板插件 Git - 版本控制工具插件 Python PEP8 Autoformat - PEP8规范自动格式化插件 ConvertToUTF8 - 将本地编码转换为UTF-8
VSCode 是微软公司出的一款轻量级插件式代码编辑工具。它相似sublime也是能够经过安装插件模块来扩展,它也是扩平台的。
相比于Sublime VSCode 自带部分代码开发必须的插件,如git、debug工具和命令行工具等。
对于不喜欢折腾插件,且喜欢轻量级IDE的用户来讲,VSCode是最佳选择了。
JetBrains 公司推出的标榜 Eclipse的跨平台的 python 集成开发工具,它带有一整套能够帮助用户在使用Python语言开发时提升其效率的工具,好比调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django等框架下的专业Web开发。
PyCharm 是收费的,可是有功能阉割的社区版本可供咱们学习测试使用,下载地址。
Pycharm 的使用可参阅一些文档:
本章主要讲解了: