P001_python基础

前言:自我学习总结python全栈的知识点,版本为3.4

题外话:最近《我不是药神》很火.我也客串的说《我不是大神》全栈知识点我将参考《路飞学院7天入门》赠送的 全栈9期视频。枯燥的部分我会尽量结合一些段子或者其他语言如js知识来加深理解!

1.计算机基础

我觉得这个只要你会开机关机就差不多了,如果不方便理解给你举个例子:

  1. 计算机主要就是二进制,二进制就是0/1 逢二进一
    (实在不好理解你就想现实中的电线插头 左零右火)
  2. 计算机通过电信号来判断是0还是1 比如电压低于50%就代表0 高于50%代表 1
  3. 于是这些 01组成的东西就被机器所认识也叫 机器语言
    但是这很反人类啊!多么复杂的大脑才能识别这个啊!
    于是出现了汇编,还是不够好,于是 C / C++ /JAVA等高级语言横空出世
  4. 8位 0、1组成的序列代表1字节
    • 1B(byte) = 8位(bit)
    • 1KB = 1024B
    • 1MB = 1024KB
    • 1GB = 1024MB
    • 1T = 1024GB

买手机可千万注意别被那些卖家忽悠了,老说啥机身内存大运行速度快啥的!大错特错 如果你买手机建议运行内存买高点

  • 电脑和手机这些设备分为 内存(RAM随机存储) 和 外存(ROM只读存储)
  • 内存就是 01这堆组成的电信号 没电了只要你编辑的word文档没保存就丢了
  • 外存就是 电脑上存的小说啊 mp3 短视频等 只要你不手动删除怎么开关机都在

如下是一些进制转换:

口诀:逢二进一 逢八进一 逢十进一 逢十六进一

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
如:
二进制 十进制 八进制 十六进制
0000 0000 0 0 0
0000 0001 1 1 1
0000 0010 2 2 2
0000 0011 3 3 3
0000 0100 4 4 4
0000 0101 5 5 5
0000 0110 6 6 6
0000 0111 7 7 7
0000 1000 8 10 8
0000 1001 9 11 9
0000 1010 10 12 a
0000 1011 11 13 b
0000 1100 12 14 c
0000 1101 13 15 d
0000 1110 14 16 e
0000 1111 15 17 f

2.python历史

python的创始人为吉多·范罗苏姆(Guido van Rossum)

我们习惯叫他 龟叔(他俩个月写出了python)
js之父(Brendan Eich)也比较厉害10天创造了 javascript

宏观上:python2 与 python3 区别:

  • python2 源码不标准.混乱.重复代码太多.
  • python3 统一 标准.去除重复代码。

3.python的环境。

编译型:一次性将所有程序编译成二进制文件。

  • 缺点:开发效率低.不能跨平台。
  • 优点:运行速度快。C/C++等等。

解释型:当程序执行时.一行一行的解释。

  • 优点:开发效率高.可以跨平台。
  • 缺点:运行速度慢。python,js,php,等等。

4.python的发展。

传言未来十年是python的。个人觉得最主要的一个原因是纳入小学课本了。。。

听我一小段子:中国近5000年的重男轻女思想,让10年的房地产改变了,10年都难修改的教学课本都纳入python了。你说是不是该学习一下。最最主要的观点请参考阮一峰老师的 《未来世界幸存者》里的断言。机器学习的电脑真的可以打败围棋高手的事从不可能变成了可能。

5.python种类。

  • CPython
  • IPython
  • PyPy
  • Jython
  • IronPython

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

运行第一个py文件:

  • python3x :python 文件路径 回车
  • python2x :python2 文件路径 回车

    python2 python3 区别:

  • python2默认编码方式是ascii码
    解决方式:在文件的首行:#-- encoding:utf-8 --

  • python3 默认编码方式utf-8

理解为什么首行加入如下内容

1
#!/usr/bin/env python
  1. 在linux里代表查找系统环境变量的 python命令路径
  2. 但是linux里默认的是2.x版本 而你自己安装的3.x版本python在 usr/local/bin
    1
    2
    如果你这样写调用的默认安装的python
    #!/usr/bin/python

6.变量。

变量:就是将一些运算的中间结果暂存到内存中.以便后续代码调用。

变量名规则:

  1. 必须由数字.字母.下划线任意组合.且不能数字开头。
  2. 不能是python中的关键字。

    1
    2
    3
    4
    5
    ['and', 'as', 'assert', 'break', 'class', 'continue',
    'def', 'del', 'elif', 'else', 'except', 'exec',
    'finally', 'for', 'from', 'global', 'if', 'import',
    'in', 'is', 'lambda', 'not', 'or', 'pass', 'print',
    'raise', 'return', 'try', 'while', 'with', 'yield']
  3. 变量具有可描述性。

  4. 不能是中文。(python3变量名可以是中文)

但是毕竟编程语言不是中国制造,所以请务必尊重一下别人,而且你写中文会被别人笑话的!!!

7.常量。

1
2
3
4
5
一直不变的量。     π
BIR_OF_CHINA = 1949
```

> 在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量

//JS的常量
const a = 1 //修改就报错哦!

1
2
     
### 8.注释。

方便自己方便他人理解代码。
单行注释:#
多行注释:’’’被注释内容’’’ “””被注释内容”””

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
### 9.用户交互。input

1. 等待输入.
2. 将你输入的内容赋值给了前面变量。
3. input出来的数据类型全部是str

### 10.基础数据类型初始。

#### 数字:int 12,3,45
+ - * / **
% 取余数
ps:type()
字符串转化成数字:int(str) 条件:str必须是数字组成的。
数字转化成字符串:str(int)

> 注意,自从Python2.2起,如果整数发生溢出,Python会自动将整数数据转换为长整数,所以如今在长整数数据后面不加字母L也不会导致严重后果了。

> #### 注意:在Python3里不再有long类型了,全都是int
#### 字符串:

> str.python当中凡是用引号引起来的都是字符串。
可相加:字符串的拼接。
可相乘:str * int

name = ‘abc’
print(name*3) # abcabcabc

1
2
3
4
5
6
7

#### bool:布尔值。
- True
- False


#### 11.if 分支语句

if 条件:
结果

1
2
 
### 12.while。

while 条件:
循环体
无限循环。
终止循环:1.改变条件.使其不成立。
2,break

continue

死循环

while True:
print(1)
`