第一章 Python入门

一、 语言

计算机语言:人和计算机之间沟通的语言

计算机语言:
按照级别分类:(越高级月进阶人类)
机器语言:
汇编语言: 助记符 ag. add 2 3
高级语言: c, PHP, java , .net


二、 语言的执行方式

编译执行: 源文件,在执行时会被编译成二进制文件(文件里只有0和1)
优点:在没有修改的的情况下,只修改一次,因此运行速度快
缺点:可移植性插差。底层连接紧密,因此二进制文件移植到其他操作系统不能运行。
场合:底层开发,不做底层修改,使用编译语言。(C\C++)

解释执行: 只有源文件,少了编译的而过程,使用解释器(IDE)去执行
优点: 可移植性好,只需要在不同操作系统安装对应的解释器
缺点: 速度慢。没执行一次,就需要编译一次,所以运行速度慢
场合: 做系统级(不同系统)、web对外开发 (Python, JavaScript) 
   
编译&解释: Java神器

三、Python语言介绍

1. 发展史

龟叔,荷兰人,曾经开发ABC语言,但是由于不开源失败。
于1989年决定写一门语言,避免ABC错误,开源语言并升级
兴起的原因:
1. torch开发了python版本;
2. google期初论文基于python;

2. Python版本

2.x --- 知道2.7版本截止;
3.x --- (进行了规范化、简洁化)

3. Python的特点

a. 语法简洁;
b. 既面向过程也面向对象(同PHP)
c. 可扩展性(可以使用其他语言) --- 几乎每个语言都有这个功能
d. 解释执行,跨平台
e. 强大的库和第三方库

4. 应用方向

(1) web开发
(2)    网络爬虫
(3) 游戏编程
(4)    人工智能,数据分析、科学计算


5. python缺点

(1) 速度慢 --- 翻译复杂 --- 但是具体看需求
(2)    不可加密 --- 不能封装成exe类似文件

四、 开发环境,环境变量

即,操作系统中特殊的信息。不同环境变量有不同的名字。
设置方法:
a. 窗口设置(永久性)
> 用户变量适用于当前账户,系统变量适用于所有账户
> % *** % 为引用其他变量
eg1.我的anaconda路径
C:\ProgramData\Anaconda3;
C:\ProgramData\Anaconda3\Scripts;
C:\ProgramData\Anaconda3\Library\bin
b. 使用cmd命令(临时,仅限cmd窗口有效。)
set path = %修改内容%

        Tip: 退出python环境的命令,exit()

五、 Python的执行

1. 分类

交互模式:每输入一个命令,输出结果
脚本模式:在磁盘中建立脚本文件(.py),执行时通过<cd到脚本文件路径+脚本文件名>
> 这两种模式对应的变量生命周期不同,脚本将py文件执行完才清空内存,而交互模式为一行一行的执行。

2. 区别:

交互模式相当于一行一行输入原代码,每输入一行,执行一次;
脚本模式是一次性把脚本全部执行,不进行交互

六、 Python 基础知识

1. 变量

--- 使用特定的名绑定特定的值,相当于给值贴标签。(即指向模式)

2. 存储结构 ********** 附图 ***********

(1) 内存中创建一个变量'ABC';
(2) 内存中创建一个变量名a
(3) 变量名指向变量值

3. 多变量指向同一变量值

<Python基于内存管理机制>不可变类型,数值类型、字符串、字节不占用相同内存
> 可以使用id()函数验证

4. 修改变量的绑定

> 第一次赋值相当于定义变量
> 第二次赋值相当于修改变量名的指向修改,因此对变量值的类型不限制


5. 变量名(标识符)的命名规则

(1) 支持数字、字母和下划线,但是不能以数字开头
(2) 变量在使用之前必须赋值,只有赋值才会创建变量名
(3) 鸭子类型,即变量没有类型,可以使用同一变量名绑定多种类型的变量值。

6. 动态语言和静态语言

区别: 给变量赋值或者定义是否需要指明变量类型,即变量类型是否固定

7. 强类型语言和弱类型语言

强力型语言: 一旦一个变量被指定了某一个数据类型,如果不强制转换,永远是这种数据类型
弱类型语言:
可以根据情况自动更改变量类型
--- Python是动态强类型语言
PHP是动态弱类型语言
C\C++是静态强类型语言
eg2.
# Python
a = 'ABC'
print(a+2)
# PHP
¥ a = 'ABC'
$ b = a + 1

8. 变量值的交换 --- 平行赋值

a ,b = b, a (相当于用temp进行了交换)
a,b,c = 1,2,3 --- 特殊类型元组,不是平行赋值

9. 变量的销毁(垃圾回收,自己删除)

格式: del 变量名
> 一般不需要删除多余变量,变量值得删除需要依赖内存管理机制,变量名可以依靠del命令和垃圾回收
> del命令删除的是变量名


10. 常量 --- 不能改变的变量

(1) 普通变量   定义: 用大写字母、数字组合来命名(约定成俗的开发规范)
(2) None --- python内置常量,表示变量内置值的缺失,即变量名没有指向内容
注意: 和空串''不是一个概念,空串是有指向的,只是没有内容,类型为str


11. 输入输出

(1)输出: print(*values, sep = '\空格', end = '\n', file, flush)

#######此处需完善#######

(2)输出 input(字符串)_
> 以字符串格式,返回输入值

> 阻塞函数

(3)输入 raw_input()

随便输都是字符串,而input()必须按照Python的规则来,即字母必须加引号。

12. 注释

(1) 单行注释 #
从#到当前行结束的部分,不会被python解释器解析
(2) 特殊注释(经过Python解释器)
a. 指定设置pthon解释器的位置
#!/user/bin/python3
b. 设置文件的编码集
#-*-coding:UTF-8-*- , python3默认utf-8

13. 标识符

变量名、类名、方法名、函数名
命名规则:
a. 字符、数字、下划线,不能以数字开头
b. 不能是关键字 
c. 区分大小写
d. 一般不以@ ¥ *等命名,易混淆

14. 关键字

import keyword

keyword.kwlist

['False', 'None', 'True', 'and', 'as', 'assert', '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']

上一篇:angular学习3


下一篇:HBase简介及原理