python的发展史:
1989年,Guido(龟叔),为ABC语言写插件,Monty Python戏剧团
1990年,发布phthon第一个版本
2001年,2.x; (phython2.7 —->python2.8不会存在)
2013年,python3.0
编程语言:
C,Java,c++,c#,shell,ruby,php,JavaScript,Matlab
目前国内语言主流:java 解释性语言
-面向对象语言
-面向过程语言
-面向函数编程
-编译型语言:Windows用C写了一个QQ软件,并不能在linux系统,也不能在iso上运行
-解释型语言:可以跨平台,用python写一个APP,只需要写一份,在所有的平台上可以运行;
python的优缺点
3.1优点
创始人说的:简单,优雅,明确
简单:指语句易懂性强,不复杂
优雅:指缩进,就可以识别函数语句,默认是上一语句的内容,必须对齐才能运行,可读性强
明确:最优解只有一个,利于团队合作项目
3.2缺点
速度慢
为什么速度慢还用python?
在网络的差异性下,分析速度的时间可以忽略不计
python的特点
面向对象:解决事情的思维方式 不同的事让不同的人做
可扩展性强:可以加c语言和c++的算法
python源程序:特殊格式的文本文件
python文件后面要加.py
有缩进,无分号
中文:utf-8
编码格式
ASCII:所有的信息最终都表示为一个二进制的字符串,每一个二进制位(bit)有0和1两种状态,因此八个二进制位就可以组合出256种状态,这被称为一个字节(byte)。一个字节(8)存储一个英语字符
Unicode:一种所有符号的编码,2个字节(16)去存储一个字符,2^16
utf-8:在互联网上使用最广的一种Unicode的实现方式。它是一种变长的编码方式,它可以使用1~4个字节表示一个符号,根据不同的符号而变化字节长度。中文是用3个字节去存储
python的报错信息
[root@foundation8 Desktop]# vim hellopython.py
print 'hello python'
[root@foundation8 Desktop]# python hellopython.py
hello python
[root@foundation8 Desktop]# vim hellopython.py
print 'hello python'
printt 'hello python' #print多输入一个t
[root@foundation8 Desktop]# python hellopython.py
File "hellopython.py", line 2
printt 'hello python'
^
SyntaxError: invalid syntax #提示第二行错误,无效语句
[root@foundation8 Desktop]# vim hellopython.py
print 'hello python'print 'hello python' #将两行并为一行
[root@foundation8 Desktop]# python hellopython.py
File "hellopython.py", line 1
print 'hello python'print 'hello python'
^
SyntaxError: invalid syntax #提示第一行为无效语句
[root@foundation8 Desktop]# vim hellopython.py
print 'hello python'
print 'hello python' #在第二行行首缩进
[root@foundation8 Desktop]# python hellopython.py
File "hellopython.py", line 2
print 'hello python'
^
IndentationError: unexpected indent #提示第二行有不必要的缩进
[root@foundation8 Desktop]# vim hellopython.py
#print:输出''里的内容到屏幕
print 'hello python'
print 'hello python'
[root@foundation8 Desktop]# python hellopython.py
File "hellopython.py", line 1
SyntaxError: Non-ASCII character '\xe8' in file hellopython.py on line 1, but no encoding declared; see http://www.python.org/peps/pep-0263.html for details #python不识别中文
[root@foundation8 Desktop]# vim hellopython.py
# _*_ coding:utf-8 _*_ #加入该行可识别python中的中文
#print:输出‘’里的内容到屏幕
print 'hello python'
print 'hello python'
[root@foundation8 Desktop]# python hellopython.py
hello python
hello python
简单的python程序使用方法
[root@foundation8 ~]# python
Python 2.7.5 (default, Aug 2 2016, 04:20:16)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 'wwy'
wwy
>>> 1+1
2
交互式
作用:学习验证局部性验证python代码
缺点:
不能用tab键
退出:exit() | ctrl+D (繁复)
再次进入之前的命令就没有了
安装ipython
ipython安装包内容:
[root@foundation60 ipython]# yum install * -y
安装pycharm软件
[kiosk@foundation60 python_day01]$ tar zxf pycharm-community-2016.3.2.tar.gz
[kiosk@foundation60 python_day01]$ cd pycharm-community-2016.3.2
[kiosk@foundation60 pycharm-community-2016.3.2]$ ls
bin help Install-Linux-tar.txt lib plugins
build.txt helpers jre license
[kiosk@foundation60 pycharm-community-2016.3.2]$ cd bin
[kiosk@foundation60 bin]$ ls
format.sh idea.properties pycharm64.vmoptions restart.py
fsnotifier inspect.sh pycharm.png
fsnotifier64 log.xml pycharm.sh
fsnotifier-arm printenv.py pycharm.vmoptions
[kiosk@foundation60 bin]$ sh pycharm.sh
运行脚本后会弹出安装界面
点击OK—>点击ACCEPT—>选择create new project回车
修改程序保存位置
点击close
创建程序目录(可以按天建立,也可以按内容模块建立)
安装完成!
关于python
程序是如何执行的?
程序的执行原理(了解程序执行的原理对后续的学习是有帮助的)
计算机的三大件
计算机中包含有较多的硬件,但是一个程序要运行,有三个核心的硬件,分别是:
1.cpu(cpu 就是干活的,离开了 cpu 电脑就不能干活)
中央处理器,是一块超大规模的集成电路
负责处理数据/计算
2.内存(临时存储数据 以 G 为单位 4G 8G 16G 32G)
临时存储数据(断电之后,数据会消失)
速度快
空间小(单位价格高)
3.硬盘(永久存储数据 以 T 为单位 1T=1024G)
永久存储数据
速度慢
空间大(单位价格低)
思考题:
1.计算机中哪一个硬件设备负责执行程序?
CPU
2.内存的速度快还是硬盘的速度快?
内存
3.我们的程序是安装在内存中的,还是安装在硬盘中的?
硬盘
4.我买了一个内存条,有 500G 空间,这句话对麼?
不对,内存条通常只有 4G/8G/16G/32G
5.计算机关机之后,内存中的数据都会消失麼?
是的
程序执行的原理
1.程序运行之前,程序是保存在硬盘中的
2.当要运行一个程序的时候
操作系统会首先让 CPU 把程序复制到内存中
CPU 执行内存中方的代码程序
程序要执行,首先要被加载到内存
python 程序执行的语言
1.操作系统首先让 CPU 把 python 解释器的程序复制到内存中
python 的解释器到底有多大?
[root@foundation60 python]# which python
/bin/python
[root@foundation60 python]# ls -lh /bin/python
lrwxrwxrwx. 1 root root 7 Apr 9 17:34 /bin/python -> python2[root@foundation60 python]# ls -lh /bin/python2
lrwxrwxrwx. 1 root root 9 Apr 9 17:34 /bin/python2 -> python2.7
[root@foundation60 python]# ls -lh /bin/python2.7
-rwxr-xr-x. 1 root root 7.0K Aug 2 2016 /bin/python2.7
建立软链接的目的,是为了方便使用者不用记住使用的解释器是哪一个具体版本
2.python 解释器根据语法规则,从上而下让 CPU 翻译 python 程序中的代码
3.CPU 负责执行翻译完成的的代码
程序的作用:程序就是用来处理数据的