一、绪论
python的应用领域越来越多 并且是很多高精尖领域
比较常用的 已在思维导图中陈列出来
python的几个明显优点
我很喜欢python 最主要是简洁的感觉 缩进的层次感
我想很大原因是python总结了很多语言的优点
python强大的一个很重要原因是因为它有后台
PyPi
Pypi之于python
就像钢铁战衣之于钢铁侠
python有两种模式
IDLE = Integrated Development and Learning Environment
综合开发环境和学习环境
graph LR
IDLE-->编辑器模式
IDLE-->交互模式
二、python的缩进方式
缩进推荐
同开始分界符(左括号)对齐
foo = long_function_name(var_one, var_two,
var_three, var_four)
续行多缩进一级以同其他代码区别
def long_function_name(
var_one, var_two, var_three,
var_four):
print(var_one)
悬挂缩进需要多缩进一级
foo = long_function_name(
var_one, var_two,
var_three, var_four)
三、初学者常犯的错误
- 符号不是英文符号
- 缩进不正确
- 函数拼写不正确
我们可以改字体让中英文字体的区别大一点 这样就好发现错误了
四、print和input
BIF (函数built-in functions)
print是python的一个BIF
print的语法如图
字符串输出要打双赢号 变量不用
和C语言差不多 就是print终于没有f了
input和scanf也是差不多
但是input可以带有print的输出功能 这一点非常inter 方便交互
五、变量和字符串
5-1 变量
变量(variable)可以很简单的理解 就是某某的名字
现在的python还支持 中文变量名 太爽了
这里的变量swap比c语言的方便很多 而且更加简洁
原本 x = 3, y = 5.
5-2 字符串
字符串里面有单引号则整体用”
字符串里面有双引号则整体用’
不过我觉得\n这样的转义在短文本会更好理解
但是当我们遇到有\的字符串并转义就有麻烦了
3
所以我们可以再添加一个\来转义转义字符串
那如果地址很长呢
那我们就要再字符串最前面(引号前面)加一个r
这样来代表这里面是原始字符串 不会有转义过程
当我们要print的内容需要一行不够输入时
就可以在输入反斜杠后回车即可
但是我们每一行输入一个\还是很麻烦 特别是长文本的时候
于是我们针对长字符串有了三引号(Tripled quoted)
5-3 字符串的加法和乘法
字符串的加法不同于阿拉伯数字的加法
字符串的加法是两个字符串的拼接
字符串的乘法只是字符串的重复
六、具体的语句语法
比较字符大小 或者id是否相同
这里我的理解应该是id相同可以说是同一地址的变量/字符串
== 则判断是是否数值相等或者字符串完全相同
if - else 比较c语言省略去了圆括号
在回车时要缩进要不然会有语法错误 非常整洁的格式与表达
这里还有一个类型转换
guess = int(temp)
这里是把temp转成int类型赋值给guess
七、if-else的嵌套 while循环 break语句
1.这里可以看到if-else的嵌套
并且嵌套是由tab缩进得到的 (tab就是python的气质体现方法!)
2.python的while循环相比c语言去掉了括号
并且条件后需要加上一个“冒号:”
这样回车之后会自动缩进
- 当执行break语句时会直接跳出一层循环
八、random生成伪随机数
python有海量的模块可以供你使用
(python还有很多库)
random是一个模块
import random
就可以使用这个模块
接着输入
random.randint(1,10)
或者
random.randint(100,1000)
可以得到不同范围的一个数字
但是,为什么叫伪随机数呢?
因为这个随机数可以被事先设定
并且来源可知
输入
x = random.getstate()
可以得到它的种子
这里的种子是数字来源的意思 种子一般来自系统时间
种子再通过一定的计算方法得到伪随机数
random.setstate(x)
也就是说 当种子一定(random.getstate)
计算方法一定 再次设定(如下图)随机数(random.setstate)
那么随机数就可以被复现
所以叫做伪随机数
sugoi 我嗅到了一丝丝怪味 咦~
九、数字类型
graph LR
数字类型-->整数
数字类型-->浮点数
数字类型-->复数
9-1 整数
python的整数是没有精度的
但是整数的除法结果会是浮点数
9-2 浮点数
浮点数由于储存标准(IEEE754)的问题
所以会有偏差
所以我们会用引进decimal(十进制)板块里的Decimal
decimal.Decimal('0.1')
decimal.Decimal('0.2')
浮点数0.3 0.8 0.9 1.0 1.1 都是有偏差的
所以用Decimal实例化一个“0.1”就可以得到0.1
这里不能用 a + b == decimal.Decimal(‘0.3’)
因为这里是不同对象(知道大概就好了)
这里提到e记法
9-4 复数
这里的复数和高中的复数差不多 有实部和虚部
只不过虚部的i用j来替换了
要获得一个数的实部
变量名.real
虚部则是
变量名.imag
十、数字运算
这里是运算实例
python的数字运算有如下特殊之处(多打代码就知道了)
- 地板除法3//2 会得到1 (-3//2会得到-2) 数学概念叫做向下取整
- 地板除法结果*除数+取余数结果等于被除数 而divmod就是专门拿来分别算出 地板除法结果和取余数结果的
- abs()是取绝对值的意思(复数取模长)(absolute)
- int、float、complex(复数)都可以把字符串转换成数字类型(不能有空格)
- pow(,)和**都可以用来计算一个数的n次幂 但是pow(x,y,z)还可以多加一个参数来表示取余算法
十一、 布尔类型
布尔类型实际上就是 True和False (注意!都是大写)
我的理解就是False与0、和其他非False与0
但是这里的False和0有很多表示方法
小甲鱼都帮我们整理好了
操作实例
bool()常常用到条件判断和循环条件上
这里我们可以看到实际上bool类型就是特殊的整数类型
这里提到逻辑运算
graph LR
逻辑运算-->and与
逻辑运算-->or或
逻辑运算-->not非
逻辑运算的对象就是布尔类型(True、False)
与或非的运算逻辑就不细讲了 大家都会
但是逻辑操作符还可以进行 真值运算
下期视频揭晓hhh。。