一、python的介绍
1、python的应用
1.python的创始人:吉多·范罗苏姆
2.python应用的领域:云计算(openstack)、web开发、人工智能、系统运维、金融、图形GUI等
3、发展史:python2/python3
2、python2x与python3x的区别:
python2x: 1、源码重复,不规范;2、默认的编码是ascii(# _*_ encoding=utf:8 _*_);3、存在int、long类型
python3x: 1、整合源码,更清晰简单优美;2、默认的编码是UTF-8; 3、没有long类型,都是int类型,但是满足long的长度
注:1.# _*_ encoding=utf-8 _*_ 转成utf-8字符集
2.#!/usr/bin/env python 会去环境设置寻找python目录
3、python的应用领域:
云计算(OpenStack)、web开发、科学运算、人工智能、系统运维、图形、金融GUI
4、python的发展史:
python2.7目前还有公司在用
python3.6最新版本,更新2的所有问题
5、 编译型与解释型
编译型:将你的代码一次性全部编译成二进制,然后在运行。
缺点:开发效率低,不能跨平台
优先:执行效率高(代表c)
代表:c
解释型:当程序开始运行时,将代码一行一行的解释成二进制,执行。
缺点:执行效率低
优点:开发效率高,可以跨平台
代表:python
6、动态语言和静态语言
动态类型语言:动态类型语言是指在运行期间才去做数据类型检查的语言
静态类型语言:静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的
7、强类型定义语言和弱类型定义语言
强类型定义语言:强制数据类型定义的语言
弱类型定义语言:数据类型可以被忽略的语言
python是一门动态解释性的强类型定义语言
8、python优点和缺点
优点:Python的定位是“优雅”、“明确”、“简单”、开发效率非常高、高级语言、可移植性、可扩展性、可嵌入性
缺点:速度慢、代码不能加密、线程不能利用多CPU问题
9、python的种类:(解释器)
CPython:C语言开的的解释器
IPython:是基于CPython之上的一个交互式解释器,与CPython一样,不一样的是:CPython用>>>
作为提示符,而IPython用In [
序号
]:
作为提示符。
JPython:java语言开发的解释器
PyPy:是另一个Python解释器,它的目标是执行速度。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),所以可以显著提高Python代码的执行速度。
IronPython:IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码
小结:
Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。
二、python环境
1、python的安装、2x和3x的安装
2、环境变量的配置
三、python的基础知识
1、运行python文件:cmd下python test.py
2、解释器:.py文件中开头配置#!/usr/bin/env python 会去环境设置寻找python目录 添加权限后可以直接 ./test.py执行文件
3、编码:
1.ASCII 只能用 8 位来表示一个字符(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。(只包含字母和数字)
2.Unicode(万国码)最少由 16 位来表示一个字符(2个字节),即:2 **16 = 65536,(代表所有字符和符号的编码,欧文等)
注:此处说的的是最少2个字节,可能更多
3.UTF-8 是对Unicode编码的压缩和优化:
-
- ascii码中的内容用1个字节保存
- 欧洲的字符用 2个字节保存
- 东亚的字符用 3个字节保存
4. 8位=1b 1024b = 1kb 1024kb = 1mb 1024mb = 1gb 1024gb = 1tb
5.gbk 国标 只适用中文
4、注释
当行注释:# 被注释内容
多行注释:'''被注释内容''',或者"""被注释内容"""(可以保存格式,多行的方式展示数据)
5、变量
1.变量的定义:把程序运行的中间结果临时的存在内存里,以便后续的代码调用
name
=
"taibai"
2、变量的定义规则:
-
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名:and 、as等
- 变量的定义要具有可描述性。
- 推荐方式:驼峰体AgeOfOldboy = 56 下划线age_of_oldboy = 56
3、变量的赋值:
name1 = "taibai" name2 = name1
6、常量
1.常量即指不变的量
2.AGE_OF_OLDBOY = 56 一般常量用大写
7、程序交互
1、input 输入
2、input输出的数据都是字符串
3、程序是从上往下逐条执行
8、基本数据类型:
1、整型 int (python3x中不在用long类型) 最长:2**64幂
2、字符串类型(str)
2.1、加单引号、双引号、多引号都被称为字符串
2.2、单引号与双引号的区别:msg = "My name is Alex , I'm 22 years old!",如果是单引号,那么中间引号后面的数据不生效
2.3、多引号什么作用呢?作用就是多行字符串必须用多引号;用双引号就会报错
2.4、字符串拼接 a='san' b='shi' c = a +b print(c)输出 sanshi 注:字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接
2.5、乘接: print(a*4) 打印结果:sansansansan
2.6、type测试数据类型
2.7、用处:存储简单的少量的数据
3、布尔值
True / False
4、格式化输出
1、%s代表字符串占位符,还有%d,是数字占位符, %%输出%;
2、动态替换格式化输出
3、批量格式化有两种方式:1是元组,2是字典
9、基本运算符:算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算
1、算数运算 : + - * / % ** //
2、比较运算符:== != <> < > >= <=
3、赋值运算符: = += -= *= /= %= **= //=
4、逻辑运算符: and or not
4.1、在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。
4.2、 x or y , x为真,值就是x,x为假,值是y;
x and y, x为真,值是y,x为假,值是x。
4.3、in,not in 判断子元素是否在原字符串(字典,列表,集合)中
10、if
1、单分支
if 条件:
满足条件后要执行的代码
2、双分支:
if 条件:
满足条件执行代码 else: if条件不满足就走这段
3、多分支
if 条件: 满足条件执行代码 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 elif 条件: 上面的条件不满足就走这个 else: 上面所有的条件不满足就走这段
4、嵌套条件:
if 条件:
if 条件:
else:
5、Python的缩进有以下几个原则:
-
- *代码必须顶行写,即如果一行代码本身不依赖于任何条件,那它必须不能进行任何缩进
- 同一级别的代码,缩进必须一致
- 官方建议缩进用4个空格
11、while 循环语句
1、while 条件:
循环体
条件为真继续执行
条件为假终止执行
2、break 循环终止语句
3、continue 跳过本次的循环,不执行下面语句,循环执行上面语句;
4、跳出循环的两种方式:1.改变条件,2.定义flag=True
5、while else 两种情况:1、条件被break打断的不走else,2、当条件变成假的时候也不走else,3.只有正常执行完成的走else
12、for 循环: for循环可以遍历任何序列的项目,如一个列表或者一个字符串
for iterating_var in sequence: statements(s)
13、字典 dic = {'name':'zhangsan','age':18}
14、列表: list = [1,2,'a']