Python概述
语言:交流的工具,沟通媒介
计算机语言:人跟计算机交流的工具,翻译官
Python是计算机语言里的一种
代码:人类语言,同过代码命令机器,跟机器交流
Python解释器: 就是那个担任翻译工作的二狗子同学
流程:
写代码
执行:由翻译官(Python解释器)把命令(Code)翻译给机器,同事把机器结果翻译给我们
Pythgon简史
1989年, Guido van Rossum
2008: python3.0 诞生
2014: 宣布2.7支持到2020
2017: AI,Python崛起
Python特点
速度问题
python跟其他语言的选择问题
Python的应用领域
全能
设计哲学:平衡发展,样样通,简洁明了
Python之禅
Python为什么这么火?
会不会持续火?1
Python的执行方式
本质上Python是一堆命令的集合
执行过程是逐行执行,遇到问题即刻终止
注释
机器不去执行注释内容
注释一般用自然语言书写
注释的写法:
行注释: 以井号开头,可以单独行,也可以在某行代码后边
块注释: 好几行代码或者内容,以三个连续单引号或双引号开始和结束,中间任何内容机器都忽略
变量
程序=数据结构+算法
变量就是可以重复使用的一个量,或者叫一个代号
变量命名的规则
变量命名可以包含数字,大小写字母,下划线或者更多,但是我们不推荐除了前三种内容之外的符号
数字不可以打头
以下关键字不能声明为变量名
['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']
一般在python中,以下划线开头的内容具有特殊含义,不建议使用
比如 _age, _name,理论可以,但强烈不推荐,包括但不限于一个下划线开头和两个连续下划线开头
大小写不一样,俗称大小写敏感
ForMan 跟 forMan不是一个变量名称
推荐:
使用具有固定含义的英文单词或者缩写, srv=server skt=socket,一般以posix命名规则为主
驼峰命名法
名称以单词自动连接,且每个单词首字母大写
大驼峰,每个单词第一个字母均大写
MyFirstLove, IntOne
小驼峰,类似大驼峰,但第一个字母小写
myFirstLove, intOne
posix写法
多个单词用下划线链接
单词全部小写
my_first_love, int_one
保留字和关键字
变量命名必须避开,不能跟关键字和保留字重复
class, def, break,for
变量类型
严格意义上讲,python只有一个类型
标准数据一共六种
数字类型Number
字符串类型str
列表list
元组tuple
字典 Dictionary
集合 set
Number数字类型
数字类型没有大小限制
整数
没有小数部分,表示个数的数字
自然数,0,负自然数
整数分进制
二进制
计算机常用
是计算机唯一能直接理解的数字
表示为0b开头的0,1代码
例如 0b01101, 0b10001
八进制
不常用
以0o开头的包含0-7的数字
十六进制
逢16进1
其实是每四位二进制表示一位十六进制数
包含0-9, a-f
数字上以0x开头表示
十进制
18, 89, 178
浮点数
小数
计算机里边表示浮点数可以有条件省略
3.1415
3.
0.5
.5
科学计数法
定义跟数学定义
写法是用e/E后面跟整数表示10的指数
176.23 == 1.7634e2
0.876 == 8.76e-1
复数complex
定义同数学定义一致
一个由实部和虚部构成的数字
虚部用j/J表示
5+3j
3j
(3j)
布尔值
表示真假的值
只有两个值, True/False
布尔值可以跟数字直接操作
字符串
用来表示一串文字信息
如何表示
单引号
双引号
三引号(三个单引号或者三个双引号)
能够扩起多行信息
单双引号交错使用
转义字符
格式化
内建函数(后延)
转义字符
用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键
借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个火几个字符表示已经不是原来的意思了,进行了转义
在字符串中,一旦出现反斜杠就要加倍小心,可能由转义字符出现
不同系统对换行操作有不同的表示
windows: \n
Linux: \r\n
字符串的格式化
把字符串按照一定格式打印或者填充
格式化有两种方法
利用百分号(%)
利用format函数
利用百分号格式化
在字符串中,利用%表示一个特殊的含义,表示对字符进行格式化
%d: 此处应该放入一个整数
%s: 表示此处应该放入一个字符串
format函数格式化字符串
直接用format函数进行格式化
推荐使用这种方法
在使用上,以{}和:代替%号,后面用format带参数完成,{}里填序号
None
表示什么都没有
如果函数没有返回值,可以返回 None
用来占位置
用来解触变量绑定
表达式
由一个或者几个数字或者变量和运算符组合成的一行代码
通常会返回一个结果
运算符
由一个以上的值经过变化得到新值的过程就叫运算
用于运算的符号叫运算符
运算符分类:
算数运算符
比较或者关系运算符
赋值运算符
逻辑运算符
位运算
成员运算
身份运算符
算数运算符
进行算数运算的符号
python没有自增自减运算符
比较运算符
对两个变量或者值进行比较的运算符
比较的结果是布尔值,即True/False
赋值运算符
= , 赋值
逻辑运算符
对布尔值进行计算的符号
and 逻辑与
or 逻辑或
not 逻辑非
python中逻辑运算没有异或运算
运算规则:
and看做乘法, or看做加法,
True看做1, False看做0
则逻辑运算就能转换成整数数学运算
最后结果如果是0则为False, 否则为True
逻辑运算的短路问题
逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
成员运算符
用来检测某一个变量是否是另一个变量的成员
in
not in
身份运算
is: 用来检测两个变量是否是同一个变量
语法就是 var1 is var2
is not: 两个变量不是同一个变量
运算符的优先级问题
永远记住,括号具有最高优先级
优先级表格
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
程序结构
顺序
分支
循环