前言
目前为止绝大部分编程都是在电脑端完成的,所以在学习一门编程语言之前需要了解一下计算机的组成。
计算机组成
计算机由两大系统组成,分别是硬件系统和软件系统。
硬件系统
简单来说,从1946年世界上第一台电子计算机诞生以及冯诺依曼体系结构的提出,至今70多年间,大部分甚至绝大部分电子计算机都在沿用这个体系。
如上图所示,根据冯诺依曼提出的计算机体系结构,计算机由控制器、运算器、存储器、输入设备、输出设备五部分组成。运算器和控制器被放在一起,称为中央处理器,既CPU。根据冯·诺依曼提出的原理制造的计算机被称为冯·诺依曼结构计算机,简称冯诺依曼机。现代计算机虽然结构更加复杂,计算能力更加强大,但仍然是基于这一原理设计的,也是冯诺依曼机。
冯诺依曼机的五大部分组成了计算机的硬件系统。
软件系统
软件家族可谓是百花齐放,典型代表就是操作系统,和其他可以帮助我们处理各种问题的软件(word、photoshop等)等共同构成软件系统。
以上简述了计算机的组成。
认识Python
Python发展简述
Python的作者,Guido von Rossum(吉多·范·罗苏姆,中国程序员都叫他龟叔),荷兰人。
龟叔希望有一门语言,能够像C语言那样,能够全面的调用计算机的功能接口,又可以像shell那样,可以轻松的编程。
1989年,为了打发圣诞节假期,龟叔开始写Python需要的编译器。Python一词来源于龟叔所挚爱的电视剧Monty Python's Flying Circus。他希望这门叫做Python的语言,能符合他的理想:介于C和shell之间,功能全面,易学易用,可拓展的语言。
1991年,第一个Python编译器诞生。它是用C语言实现的,并能够调用C语言的库文件。从诞生起,Python已经具有了:类、函数、异常处理、包含列表和字典在内的核心数据类型,以及模块为基础的拓展系统。
Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。
Python的优缺点
优点
- 简单:Python是一种代表简单主义思想的语言。
- 易学:就如同你即将看到的一样,Python极其容易上手。
- 免费、开源:Python是FLOSS(自由/开放源码软件)之一。
- 高层语言:当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。
- 可移植性:由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。
- 解释型语言:一个用编译型语言比如C或C++写的程序可以从源文件(即C或C++语言)转换到一个你的计算机使用的语言(二进制代码,即0和1)。
- 面向对象:Python既支持面向过程的编程也支持面向对象的编程。
- 可扩展性:如果你需要你的一段关键代码运行得更快或者希望某些算法不公开,你可以把你的部分程序用C或C++编写,然后在你的Python程序中使用它们。
- 丰富的库:Python标准库确实很庞大。
- 规范的代码:Python采用强制缩进的方式使得代码具有极佳的可读性。
缺点
Python语言非常完善,没有明显的短板和缺点,唯一的缺点就是执行效率慢,这个是解释型语言所通有的,同时这个缺点也将被计算机越来越强大的性能所弥补。
Python应用场景
- Web应用开发
比如,通过mod_wsgi模块,Apache可以运行用Python编写的Web程序。 - 操作系统管理、服务器运维的自动化脚本
在很多操作系统里,Python是标准的系统组件。 大多数Linux发行版以及NetBSD、OpenBSD和Mac OS X都集成了Python,可以在终端下直接运行Python。 - 网络爬虫
Python有大量的HTTP请求处理库和HTML解析库,并且有成熟高效的爬虫框架Scrapy和分布式解决方案scrapy-redis,在爬虫的应用方面非常广泛。 - 科学计算
NumPy、SciPy、Pandas、Matplotlib可以让Python程序员编写科学计算程序。 - 桌面软件
PyQt、PySide、wxPython、PyGTK是Python快速开发桌面应用程序的利器。 - 服务器软件(网络软件)
Python对于各种网络协议的支持很完善,因此经常被用于编写服务器软件、网络爬虫。 - 游戏
很多游戏使用C++编写图形显示等高性能模块,而使用Python或者Lua编写游戏的逻辑、服务器。 - 构思实现,产品早期原型和迭代
Google、NASA、Facebook都在内部大量地使用Python。
Python 注释
python注释分为两种,一种的单行注释,一种是多行注释。
单行注释
在注释前加一个 “#” 。
# 这是一个单行注释
多行注释
使用 三对 <""" """>
"""
这是一个多行注释
我是可以有多行的
你看...
"""
Python 变量以及类型
变量
变量可以理解为是一个包裹,里面存放着你想要的数据。如果有多个数据,可以使用多个变量。
类型
在Python中变量是没有类型的,既然变量没有类型,那这里要说的就是数据的类型。
Python3中的基本数据类型分为七类九种
如图所示,Python3拥有Number、Boolean、String、List、Tuple、Dictionary、Set七大类数据类型,其中Number又分为int、float、complex,和其它数据类型组成了Python3 的九种数据类型。
注:Python3 没有Python2 的long类型
标识符和关键字
标识符
什么是标识符?开发人员在程序中自定义的一些符号和名称,如变量名 、函数名等。
标识符的规则(语法层面) 必须遵守
- 标识符由字母、下划线和数字组成,且数字不能开头
- 注意:Python区分大小写, 既name / Name 是两个变量, Name / NAME 是两个变量.
name = 1
Name = 2
NAME = 3
print(name)
print(Name)
print(NAME)
# 运行结果
# 1
# 2
# 3
命名规则(约定俗成的准则) 最好遵守,便于维护
- 见名知意 使用英文名词作为变量名。
name = "小芳" # name翻译为名字、姓名。不存在歧义
xingming =" 小芳" # 姓名 性命 兴明 刑名 以上都可以是xingming,表达意思不明确
小驼峰式命名法(lower camel case): 第一个单词以小写字母开始;第二个单词的首字母大写,例如:myName、aDog
大驼峰式命名法(upper camel case): 每一个单字的首字母都采用大写字母,例如:FirstName、LastName
还有一种命名法是用下划线“_”来连接所有的单词,比如send_buf。(官方推荐)
Python的命令规则遵循PEP8标准
关键字
什么是关键字
一些具有特殊功能的标识符,就是所谓的关键字。关键字,是python已经使用的了,所以不允许开发者自己定义和关键字相同的名字的标识符(语法层面)。
安装并正确配置Python (飞机 @陌上行走),则可用通过Python Console查看关键字,命令如下:
import keyword
keyword.kwlist
# 结果
# ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class',
# 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for',
# 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
# 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
Python中的输入输出
输出
print('hello world')
# 运行结果
# hello world
格式化输出
age = 10
print("我今年%d岁" % age)
# 运行结果
# 我今年10岁
带有%这样的格式符号(占位符)的输出(print 语句),这就是Python中的格式化输出。
格式符号(占位符)
格式符号 | 转换 |
---|---|
%s | 字符串 |
%d | 有符号十进制整数 |
%f | 浮点数 |
%c | 字符 |
%u | 无符号十进制整数 |
%o | 八进制整数 |
%x | 十六进制整数(小写字母0x) |
%X | 十六进制整数(大写字母0X) |
%e | 科学计数法(小写'e') |
%E | 科学计数法(大写“E”) |
%g | %f和%e 的简写 |
%G | %f和%E的简写 |
换行输出
在输出的时候,如果有\n那么,此时\n后的内容会在另外一行显示
print("我是第一行输出,我是第二行输出")
print("我是第一行输出,\n我是第二行输出")
输入
到此结 DragonFangQy 2018.4.2