python笔记
-
编程基础 :
- 计算机语言 :
. 人与计算机之间交互的语言
1.2 机器语言 :
-
一定位数组成二进制的0和1的序列, 称为机器指令。 机器指令的集合就是机器语言
-
与自然语言差异太大, 难学 难写 难记 难查错
1.3 汇编语言: -
用一些助记符号代替机器指令,称为汇编语言。 ADD A,B 指的是将寄存器A的数与寄存器B的数相加得到的数放在寄存器A中
-
汇编语言写好的程序需要汇编程序转换成机器指令
-
汇编语言只是稍微好记些 可以认为就是机器指令对应的助记符。 只是符号本身接近自然语言
-
高级语言的发展 :
2 非结构化语言 :
- 编号或标签,GOTO, 子程序可以有恩多出口和入口
- 有分支, 循环
2.1 结构化语言 : - 任何基本结构只允许是唯一入口和唯一出口
- 顺序,分支,循环,废弃GOTO
2.2 面向对象语言 : - 更加接近人类认知世界的方式, 万事万物抽象成对象, 对象见关系抽象成类和继承
- 封住 继承 多态
2.3 函数式语言 : - 古老的编程范式, 应用在数学计算,并行处理的场景。 引入到很多现代高级语言中
- 函数是 “一等公民” ,高阶函数
程序Program :
3 程序 :
- 算法+数据结构 =程序
- 数据一切程序的核心
- 数据结构是数据在计算机中的类型和组织方式
- 算法是处理数据的方式, 算法有优劣之分
3.1 写程序难点 : - 理不清数据
- 搞不清处理方法
- 无法把数据设计转换成程序结构, 无法把处理方法转换成算法
- 无法设计范式来进行程序设计
- 时间皆有BUG, 但不会dwbug
python基础语法:
*注释——#标注的文字
*数字
#整数#
*python3开始不区分long和int,long被重名名为int,所以只有int了
*进制0xa,0o10,0b10
*bool,2个值True,False
#浮点数#
*1.2, 3.1415, -0.12, 1.46e9等价于1.46 * 10^9
*本质上使用了C语言的double类型
复数,1+2j
字符串
*使用’ “单双引号引用的字符的序列
*’’'和”""单三引号,可以跨行,可以在其中自由使用单双引号
*r前缀: 在字符串前面加上r或者R前缀,表示该字符串不做特殊处理
*f前缀: 3.6版本开始,新增前缀,格式化字符
转义字符
*\ \t \r \n ’ "
缩进
*未使用C语言的花括号,而是采用缩进的方式表示层次关系
*约定使用4个空格缩进
续行
*在行尾使用
*如果使用各种括号,认为括号内是一个正体,内部跨行不用
标识符
- 一个名字,用来代表一个值
- 只能用字母表示
- 只能以字母或者下划线开头
- 不能是python关键字,例如def,class等
- python是大小写敏感
约定:
不允许使用中文
不使用歧义单词,如class_
在python中不要随便使用下划线开头的标识符
常量
*一旦赋值就不能改变能量的标识符
*python中无法定义常量
字面常量
一个单独的量,例如 12, “abc”, ‘2341356514.03e-9’
变量
*赋值后,可以改变值的标识符
进制
常见进制有二进制,八进制 十进制 十六进制 应重点掌握二进制,十六进制
十进制逢十进一,十六进制逢十六进一, 二进制逢二进一
转为十进制——按位乘以权累加求和
0b110计算为1 * 2 ** 3+12 ** 1+0*2 ** 0 * 2 ** 0=14
*0x4计算为4 * 16+1 * 1=65
转为二进制
*0xf8按位展开即可,的到0b1111 1000
*127除以基数2,知道商为0为止,反向提取余数
转为十六进制
*127处以基数16,直到商为0为止,反向提取余数