一、python概述
1、什么是python?
- Python是一种解释型、面向对象、动态数据类型的高级程序设计语言
- Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年
- 像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议
2、简介
-
Python 是一种解释型语言
开发过程中没有了编译这个环节,类似于PHP和Perl语言
-
Python 是交互式语言
可以在一个Python提示符,直接互动执行程序
-
Python 是面向对象语言
Python支持面向对象的风格或代码封装在对象的编程技术
-
Python 是初学者的语言
Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发,从简单的文字处理到 WWW 浏览器再到游戏
3、语言的区别
-
解释型语言
- 比如 PHP Python
- 优点:可移植性较好,只要有解释环境,可在不同的操作系统上运行
- 缺点:运行需要解释环境,运行起来比编译的要慢,占用资源也要多一些,代码效率低,代码修改后就可运行,不需要编译过程
- 解释型语言,是在运行的时候将程序翻译成机器语言,所以运行速度相对于编译型语言要慢。
-
编译型语言
- C C++ Java
- 优点:运行速度快,代码效率高,编译后的程序不可修改,保密性较好
- 缺点:代码需要经过编译方可运行,可移植性差,只能在兼容的操作系统上运行
- 编译型语言在程序执行之前,有一个单独的编译过程,将程序翻译成机器语言,以后执行这个程序的时候,就不用再进行翻译了。
4、发展历史
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。(通用性公开许可证)
版本:2.xx 3.xx
Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。
5、特点
-
易于学习
Python有相对较少的关键字,结构简单,和一个明确定义的语法,学习起来更加简单
-
易于阅读
Python代码定义的更清晰
-
易于维护
Python的成功在于它的源代码是相当容易维护的
-
一个广泛的标准库
Python的最大的优势之一是丰富的库,跨平台的,在UNIX,Windows和Macintosh兼容很好
-
互动模式
互动模式的支持,您可以从终端输入执行代码并获得结果的语言,互动的测试和调试代码片断
-
可移植
基于其开放源代码的特性,Python已经被移植(也就是使其工作)到许多平台
-
可扩展
如果需要一段运行很快的关键代码,或者是想要编写一些不愿开放的算法,你可以使用C或C++完成那部分程序,然后从你的Python程序中调用
-
数据库
Python提供所有主要的商业数据库的接口
-
GUI编程
Python支持GUI可以创建和移植到许多系统调用
-
可嵌入
你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力
6、缺点
-
运行速度慢
和C程序相比非常慢,因为Python是解释型语言,代码在执行时会一行一行地翻译成CPU能理解的机器码,这个翻译过程非常耗时,所以很慢。而C程序是运行前直接编译成CPU能执行的机器码,所以非常快
-
代码不能加密
如果要发布Python程序,实际上就是发布源代码,这一点跟C语言不同,C语言不用发布源代码,只需要把编译后的机器码(也就是在Windows上常见的xxx.exe文件)发布出去。要从机器码反推出C代码是不可能的,所以,凡是编译型的语言,都没有这个问题,而解释型的语言,则必须把源码发布出去
7、方向
-
Linux运维
Linux运维是必须而且一定要掌握Python语言,Python是一门非常NB的编程语言,它可以满足Linux运维工程师的工作需求提升效率,总而提升自己的能力,运维工程师需要自己独立开发一个完整的自动化系统时,这个时候才是真正价值的体现,才能证明自身的能力,让老板重视。
-
Python Web网站工程师
我们都知道Web一直都是不可忽视的存在,我们离不开网络,离不开Web,利用Python的框架可以做网站,而且都是一些精美的前端界面,还有我们需要掌握一些数据的应用。
-
Python自动化测试
大家都知道,就是Python语言对测试的帮助是非常大的,自动化测试中Python语言的用途很广,可以说Python太强大,掌握和熟悉自动化的流程,方法和我们总使用的各个模板,到现在为止,我了解的Python使用最多的应该是自动化测试。
-
数据分析
我们都知道现在来临了大数据的时代,数据可以说明一切问题的原因,现在很多做数据分析的不是原来那么简单,Python语言成为了做数据分析师的第一首选,它同时可以给工作带来很大的效率。
-
人工智能
我们都知道谷歌制作出了的机器人战胜了一个围棋大师,这个就是目前刚出头的人工智能,当然我们的人工智能时代还没有到来,如果这天来了,生活和世界将会发生翻天覆地的变化,而且现在发展这么快,人工智能的时代不会太远。
二、内存与进制
(1) 内存
概述:
内存 是计算机中的重要的部件之一 它是与cpu进行沟通的桥梁 计算机中所有的程序 都是在内存中进行的 所以 内存的性能对计算机的影响比较大
内存中以二进制形式存储数据
单位:
1T = 1024G
1G = 1024兆
1兆 = 1024k
1k = 1024字节
1字节 = 8bit
内存中 以二进制的形式存储数据的
8bit并不等于某一个二进制数,他只是决定了位宽,也就是8位二进制位宽。bit是位的意思,1字节等于8位,二进制数。
计算机内部的数据都用二进制表示,而每一“位”二进制数字就是1bit,是最小单位,比如二进制的1就是1bit,二进制的1010就是4bit,而每一字节(byte)就由8bit组成。
(2) 进制转换
https://blog.csdn.net/diyu122222/article/details/80692904
-
十进制
特性:逢十进一
数字:0 1 2 3 4 5 6 7 8 9
计算:1 + 9 = 10
-
二进制
特性:逢二进一
数字:0 1
计算:1 + 1 = 10
-
八进制
特性:逢八进一
数字:0 1 2 3 4 5 6 7
计算:1 + 7 = 10
-
十六进制
特性:逢十六进一
数字:0 1 2 3 4 5 6 7 8 9 a b c d e f
计算:1 + f = 10
(3) 各进制与二进制的转换
-
十进制转二进制
公式:倒除取余法 然后将余数 倒着拿出来 左侧不足为 拿0来补充
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010转换:10(10) --> 1010 (2)
-
二进制转十进制
公式:计算每一位的2的位数次方,再相加
转换:1010(2) --> 0 x 2^0 + 1 x 2^1 + 0 x 2^2 + 1 x 2^3 = 0+2+0+8 = 10(10)
-
二进制转八进制
公式:【三位一取】从低位开始,每三位得到一个八进制数字,最后高位不足则补0
转换:010110011(2) --> 263 (8)
-
二进制转十六进制
公式:【四位一取】从低位开始,每四位得到一个十六进制数字,最后高位不足则补0
转换:100101100(2) --> 12C (16)
-
八进制转二进制
公式:【一转3位】八进制的一位相当于二进制的3三位,计算时按照十进制数字转换
转换:263(8) --> 010110011(2) (2)
-
十六进制转二进制
公式:【一转4位】十六进制的一位相当于二进制的4位,计算时按照十进制数字转换
转换:12C(16) --> 100101100 (2)
注意:
4位2进制转换为十六进制时 从右侧 开始转换 不足4位的 0补位
转换为2进制
每一个数 除2取余 不足4为 0补位
(4) 直接法
把一个十进制数 直接转换为八进制或者16进制 按照除8和16取余的方式
把159转换为8进制
把150转换为8进制
把159转换为 16进制
159倒除16 取余数 同上
-
有一个八进制数 226 十进制数为 150
226怎样转换为10进制
2*8的n次方 和2进制转换一样
-
有一个十六进制数 96 十进制数为 150
9*16的n次方 和2进制转换一样
(2) 编译型语言(强类型语言)
- C C++ Java
- 优点: 运行速度快 代码效率高 编译后的程序 不可修改 保密性好
- 缺点: 代码需要经过编译才能运行 可移植性差 只能在兼容的系统上运行
三、安装环境
Python有俩个版本
python3.6
python2.7
只有 0.3%是不相同的 print() print ""
Python2.7 和Python3.6
注意:2.7和3.6语法上有一点点区别 但是 我们可以使用工具将 Python2.7升级为Python3
Python在安装的时候 要将Python的配置加入到环境变量里 这样在终端里打开默认就为 3.6 如果想使用Python默认为 2.7 那么将Python2.7的路径 加到 系统的环境变量里 把系统环境变量最后加上一个分号 然后在把你的路径赋值进去
四、Windows快捷键
- calc 计算器
- notepad 记事本
- mspaint 画图工具
- cmd windows终端
五、文件常用后缀
-
.py
python文件 -
.html/.htm
html文件 -
.css
css样式文件 -
.js
js代码的文件 -
.php
PHP文件 -
.sql
SQL文件
六、变量的命名规则
使用外文
严格区分大小写
-
不能使用关键字
-
查看关键字的方式
import keyword
print(keyword.kwlist)
-
-
统一使用小驼峰的命名规则
-
myName
classMethod = '小驼峰' #变量名 函数名 使用小驼峰 ClassMethod = '大驼峰' #类名统一使用大驼峰
-
由数字字母下划线组成 不能以数字作为开头
见名知意
注意代码的缩进
注意:
在python中 语句的结尾分号 可有可无 但是建议不加
如果多行语句 写在一行的时候 必须添加 作为当前语句的结束
七、变量的赋值
(1) 单一赋值
变量名 = 值
(2) 统一赋值
多个变量为同一个值
变量1 = 变量2 ... = 值
(3) 对称赋值
变量1,变量2... = 值1,值2...
注意:
- Python的每句语句的结束 分号可加可不加
- 多条语句写在一行必须加分号
八、python的输入和输出
(1) 输出
print(输出的内容)
输出多个值 使用逗号来隔开
print(内容1,内容2...)
实例
print('Hello World')
print('什么字分开比较爽,合起来比较疼?','什么字?')
print('答:咬')
(2) 输入
input(提示信息)
实例
demo = input("请输入你的内容")# input里面的内容为 提示信息
print('你输入了:',demo)
使用了os模块的例子
#一个可以打开Windows的模块 通过正确的指令
import os
command = input('请输入指令')
os.system(command)
九、代码的注释
作用:
- 代码的调试
- 解释说明
注意:
被注释的代码和内容 不会被解析
每个语言都有自己的注释 写法上可能不同 但是作用一样
比如:
HTML的注释
css 的注释 /*注释的内容*/
python注释:
(1) 单行注释
语法: #
#单行注释 被注释的代码和内容 不会被解析
(2) 多行注释
“”“注释内容"""
'''注释内容'''
实例:
"""
print('Hello World')
print('Hello World')
print('Hello World')
"""
注意:
- 单行注释可以嵌套单行注释
- 多行注释可以嵌套单行注释
- 多行注释不可以嵌套多行注释 但是如果嵌套的多行注释中没有存在其他的内容 则可以 因为此刻为俩个多行注释
十、变量的删除del
del 变量名
实例
num = 1
num2 = 2
del num #删除变量num
del num,num2 #删除多个变量
print(num)
案例
import os
command = str(input("输入命令"))
os.system(command)