冯诺依曼架构
控制器
运算器
存储器
输入设备 (I)
输出设备 (O)
CPU——控制器,运算器 # 运算器只与内存交换数据
内存——存储器
硬盘——输入设备,输出设备(向存储器输入数据,写入存储器输出的数据)
键盘,鼠标——输入设备(向计算机输入指令
显示器,打印机,音响等——输出设备
python的语言类型
python是动态语言,强类型语言
静态编译语言
事先声明变量类型,类型不能更改
编译时检查
动态编译语言
不用事先声明类型,随时可以赋值为其他类型
编程时不知道是什么类型,很难推断(编译时无法检查,只有运行时才能检查)
强类型语言
不同类型之间操作,必须先强制类型转换为同一类型
弱类型语言
不同类型之间可以操作,自动隐式转换
基础语法
基础数据类型
注释
由符号#标注的文字
数字
整数 不区分短整型和长整型
进制 :二进制(0b01),0o10,十六进制(0xa)
布尔型 : True 、False
浮点数
1.2、3.1415、-0.12、146e9等价于1.46*10 9次方
复数
1+2i,1-2j
字符串
使用’ "单双引号引用的字符的序列
‘’'和”””单双三引号
字符串前加R或r则该字符串不做特殊处理(转义字符无效)
转义字符
\ ,\t,\r,\n,’,"
tab:制表符,用在对齐打印,通常为了补足4个字符或者8个字符
\n:相当于enter, new line,下一行
缩进
舍弃了C等语言的花括号,用缩进代替层次关系
约定使用4个空格缩进
续行
在行尾使用\
如果使用各种括号,认为括号内是一个整体,内部跨行不用
标识符
运算符
算术运算符
运算符 含义 示例
+ 加 1+2=3
- 减 3-1=2
* 乘 2*2=4
/ 除 9/3=3.0
% 取模 5%2=1
** 指数运算 3**2=8
整除:返回除法的余数
自然除/结果是浮点数,整除//。
位运算符
& | ~ ^ << >>
&(与):二进制的按位的相乘
0b1101 &
0b0001
=0b0001
|(或):按位相加(按位相加不进位,0b10|0b11=3)
~:按位取反
^:按位异或
<<:
>>:
常用方式:乘除2的倍数,32//8相当于32>>3
bin(32)=0b100000 往右走3位 结果为0b100
12,0xc,0o14,0b1100
比较运算符
符号 含义 示例
== 等于 a == 3
!= 不等于 a != 3
> 大于 5 > 2
< 小于 7<13
>= 大于等于 a >= 2
<= 小于等于 b <= 7
返回一个bool值
1<‘1’(报错) 1==‘1’(False)
链式比较操作符
4>3>2
逻辑运算符
与或非 and or not
短路运算符
and 如果第一个表达式为False,则表达式一定为False
or 如果第一个表达式为True ,则表达式一定是True
赋值运算符
a = min(3,5)
+= (a=a+4等价于a+=4)
-=
*=
/=
//=
%=
成员运算符
in,not in
身份运算符
is , is not
运算符优先级
单目运算符>双目运算符
算数运算符>位运算符>身份运算符>成员运算符>逻辑运算符
记不住,用括号,
长表达式,多用括号,易懂,易读
表达式Expression
由数字,符号,括号,变量等的组合
算数表达式
逻辑表达式
赋值表达式
Python中,赋值即定义,如果一个变量已经定义,赋值相当于重新定义
内存管理
变量无需事先声明,也不需要指定类型
python编程中一般无须关心变量的存亡,也一般不用关心内存的管理
python使用引用计数记录所有对象的引用数
当对象引用数变为0,他就可以被垃圾回收GC
计数增加:
赋值给其他变量就增加引用计数,例如x=3;y=x;z=[x,1]
实参传参,如foo(y)
计数减少:
函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
变量被赋值给其他对象,例如x=3;y=x;4
有关性能的时候,就需要考虑变量的引用问题,但是该释放内存,还是尽量不释放内存,看需求
查看引用计数
import sys
x = [ ]
print(1,sys.getrefcount(x))
print(2,sys.getrefcount([]))
y = x
print(3,sys.getrefcount(y),sys.getrefcount(x))
x = 5 #注意字面常量
print(4,sys.getrefcount(y))
print(5,sys.getrefcount(x))
z = 5
print(6,sys.getrefcount(x))
1 2
2 1
3 3 3
4 2
5 449
6 448
---------------------
转载,仅作分享,侵删
作者:Xiao.H
原文:https://blog.csdn.net/weixin_37687644/article/details/85557572
|
|