目录

  • 目录
  • 一:编程与编程语言
  • 1.编程的目的是什么?
  • 2.什么是编程语言?
  • 3.为什么要编程?
  • 二:计算机基础
  • 1.CPU
  • 2.内存
  • 3.硬盘
  • 三:操作系统与平台
  • 1.操作系统
  • 2.平台
  • 3.计算机三层体系
  • 四:编程语言分类
  • 1:语言的发展经历
  • 2:语言分类
  • 3:主流编程语言介绍
  • 4:Python介绍
  • 5:安装Python
  • 6:第一个Python程序
  • 五:变量
  • 1:什么是变量?
  • 2:为什么要有变量?
  • 3:如何使用变量?
  • 4:小正数池

目录

一:编程与编程语言
1.编程的目的是什么?
计算机的发明,是为了取代人类和解放人类的工作,要让机器能按照人的思维和逻辑,帮人处理工作
2.什么是编程语言?
语言是用来沟通的,我在公司干活,主管用普通话与我交流,突然安排工作的时候,冒出一句上海话(心里一万句mmp,我也听不懂上海话),这就造成沟通障碍
编程语言是程序员与计算机之间沟通的方式(介质)
3.为什么要编程?
把人的处理事务的思维和逻辑用编程语言翻译出来,并记录下来
二:计算机基础
1.CPU
执行指令预处理数据
2.内存
存储指令和数据
缺点:断电丢失数据与指令
优点:读取速度比硬盘快
3.硬盘
永久储存数据
缺点:读取速度慢
三:操作系统与平台
1.操作系统
操作系统是用户与硬件沟通的桥梁,减少了程序员的繁杂工作
操作系统是软件
2.平台
操作系统+物理设备
常见的PC三大平台:Linux+物理设备,mac+物理设备,
3.计算机三层体系
应用程序/用户
控制程序(操作系统:windows、linux)
计算机硬件(物理设备)
四:编程语言分类
1:语言的发展经历
机器语言:电脑最开始源于二极管,经过一段时间发展,机器只能识别0101(二进制),所以人类最开始控制电脑,就是用二进制编程,俗称机器语言
执行速度快
开发效率低,语法记忆复杂
汇编语言:经过了一段时间发展,人类还是觉得机器语言复杂,最后汇编语言就寅运而生,相对于机器语言,汇编语言用简写的英文字符取代了机器语言,本质上也是直接操作硬件
高级语言:站在人的角度,说人话,即用人类的字符去编写程序,屏蔽了硬件操作
2:语言分类
编译型:(需要编译器,相当于用谷歌翻译):如C,go执行速度快,调试麻烦
第一次编译慢,编译后执行速度快,开发相对于解释型要慢

解释型:类似于两会期间,总理用中文发言,有几个翻译的妹子,同声翻译总理的话
(需要解释器,相当于同声传译):如python,shell,执行速度慢,调试方便

如图

python与电气的应用 python 电气_python与电气的应用

看法(结论)

机器语言
	优点是最底层,执行速度最快
	缺点是最复杂,开发效率最低

汇编语言
	优点是比较底层,执行速度最快
	缺点是复杂,开发效率最低

高级语言
	编译型语言执行速度快,不依赖语言环境运行,跨平台差
	解释型跨平台好,一份代码,到处使用,缺点是执行速度慢,依赖解释器运行


3:主流编程语言介绍

例如:Shell ,go ,python ,php,

语言排行榜



4:Python介绍

介绍

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,Guido开始写能够解释Python语言语法的解释器。Python这个名字,来自Guido所挚爱的电视剧Monty Python’s Flying Circus。他希望这个新的叫做Python的语言,能符合他的理想:创造一种C和shell之间,功能全面,易学易用,可拓展的语言。

    最新的TIOBE排行榜,Python占据第3, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

Python可以应用于众多领域,如:数据分析、组件集成、网络服务、图像处理、数值计算和科学计算等众多领域。目前业内几乎所有大中型互联网企业都在使用Python,如:Youtube、Dropbox、BT、Quora(中国知乎)、豆瓣、知乎、Google、Yahoo!、Facebook、NASA、百度、腾讯、汽车之家、美团等。

用处

WEB开发——最火的Python web框架Django, 支持异步高并发的Tornado框架,短小精悍的flask,bottle, Django官方的标语把Django定义为the framework for perfectionist with deadlines(大意是一个为完全主义者开发的高效率web框架)

网络编程——支持高并发的Twisted网络框架, py3引入的asyncio使异步编程变的非常简单

爬虫——爬虫领域,Python几乎是霸主地位,Scrapy\Request\BeautifuSoap\urllib等,想爬啥就爬啥

云计算——目前最火最知名的云计算框架就是OpenStack,Python现在的火,很大一部分就是因为云计算

人工智能——谁会成为AI 和大数据时代的第一开发语言?这本已是一个不需要争论的问题。如果说三年前,Matlab、Scala、R、Java 和 Python还各有机会,局面尚且不清楚,那么三年之后,趋势已经非常明确了,特别是前两天 Facebook 开源了 PyTorch 之后,Python 作为 AI 时代头牌语言的位置基本确立,未来的悬念仅仅是谁能坐稳第二把交椅。

自动化运维——问问中国的每个运维人员,运维人员必须会的语言是什么?10个人相信会给你一个相同的答案,它的名字叫Python

金融分析——我个人之前在金融行业,10年的时候,我们公司写的好多分析程序、高频交易软件就是用的Python,到目前,Python是金融分析、量化交易领域里用的最多的语言

科学运算—— 你知道么,97年开始,NASA就在大量使用Python在进行各种复杂的科学运算,随着NumPy, SciPy, Matplotlib, Enthought librarys等众多程序库的开发,使的Python越来越适合于做科学计算、绘制高质量的2D和3D图像。和科学计算领域最流行的商业软件Matlab相比,Python是一门通用的程序设计语言,比Matlab所采用的脚本语言的应用范围更广泛

游戏开发——在网络游戏开发中Python也有很多应用。相比Lua or C++,Python 比 Lua 有更高阶的抽象能力,可以用更少的代码描述游戏业务逻辑,与 Lua 相比,Python 更适合作为一种 Host 语言,即程序的入口点是在 Python 那一端会比较好,然后用 C/C++ 在非常必要的时候写一些扩展。Python 非常适合编写 1 万行以上的项目,而且能够很好地把网游项目的规模控制在 10 万行代码以内。另外据我所知,知名的游戏<文明> 就是用Python写的
5:安装Python


....后期重新安装Python把图补上去

6:第一个Python程序

交互环境

C:\Users\Administrator>python
Python 3.8.2 (tags/v3.8.2:7b3ab59, Feb 25 2020, 22:45:29) [MSC v.1916 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> print('hello word') 打印hello word 
hello word
>>>

脚本方式

把代码写入hello.py文件中,通过解释器执行代码
python hello.py

警告:python解释器执行程序是解释执行,即打开文件读内容,因此文件的后缀名没有硬性限制,但通常定义为.py结尾
五:变量
1:什么是变量?
变量是事物变化的可计量的状态
2:为什么要有变量?
程序的运行中数据是会发生变化的,要有一种机制把记录的状态给记录下来
类似于人的大脑,接受到信息后,会把它记录并进行一些处理,就会导致信息的改变
3:如何使用变量?
#变量名(于门牌号,指向值所在的空间),等号,变量值
name='SB'
sex='error'
age=28
level=999

变量名定义规范

变量名只能是以字母、数字或下划线的任意组合
变量名的第一个字符不能是数字
关键字不能声明为变量名['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', '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']

定义方式(两种)

#驼峰体
AgeOfOldboy = 56 
NumberOfStudents = 80
#下划线(推荐使用)
age_of_oldboy = 56 
number_of_students = 80

警告
	变量名不能为中文、拼音
	变量名不能过长
	变量名词不达意

与定义变量的两种方法(内部的)


id type value

等号比较的是value,
is比较的是id

强调:
	id相同,意味着type和value必定相同
	value相同type肯定相同,但id可能不同,如下

>>> x = 'info ly:18'
>>> y = 'info ly:18'
>>> id(x)
50887720
>>> id(y)
22181272
>>> x == y
True
>>>
>>> x is y
False
4:小正数池
#1、在交互式模式下
Python实现int的时候有个小整数池。为了避免因创建相同的值而重复申请内存空间所带来的效率问题, Python解释器会在启动时创建出小整数池,范围是[-5,256],该范围内的小整数对象是全局解释器范围内被重复使用,永远不会被GC回收

每创建一个-5到256之间的整数,都是直接从这个池里直接拿走一个值,例如
>>> y=4
>>> id(y)
1546385376
>>> 
>>> x=3
>>> x+=1
>>> id(x)
1546385376

>>> x = 596
>>> y = 598+1
>>> id(x)
14630720
>>> id(y)
14630688
>>>


#在pycharm中
但在pycharm中运行python程序,pycharm出于对性能的考虑,会扩大小整数池的范围,其他的字符串等不可变类型也都包含在内一便采用相同的方式处理了,我们只需要记住这是一种优化机制,至于范围到底多大,无需细究