冯诺依曼架构
控制器
运算器
存储器
输入设备 (I)
输出设备 (O)
CPU——控制器,运算器 # 运算器只与内存交换数据
内存——存储器
硬盘——输入设备,输出设备(向存储器输入数据,写入存储器输出的数据)
键盘,鼠标——输入设备(向计算机输入指令
显示器,打印机,音响等——输出设备
最近找到了一个免费的python教程,两周学会了python开发。推荐给大家,希望召集更多的朋友一起学习python。
小编有一个群 515267276:里面有很多python爱好者讨论学习,有资料,想学python的可以一起加进来,水军勿扰,水军勿扰。
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个空格缩进
续行
在行尾使用\
如果使用各种括号,认为括号内是一个整体,内部跨行不用
标识符
运算符
算术运算符
整除:返回除法的余数
自然除/结果是浮点数,整除//。
位运算符
& | ~ ^ << >>
&(与):二进制的按位的相乘
0b1101 &
0b0001
=0b0001
|(或):按位相加(按位相加不进位,0b10|0b11=3)
~:按位取反
^:按位异或
<<:
>>:
比较运算符
返回一个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使用引用计数记录所有对象的引用数
当对象引用数变为0,他就可以被垃圾回收GC
计数增加:
赋值给其他变量就增加引用计数,例如x=3;y=x;z=[x,1]
实参传参,如foo(y)
计数减少:
函数运行结束时,局部变量就会被自动销毁,对象引用计数减少
变量被赋值给其他对象,例如x=3;y=x;4
查看引用计数
对Python开发技术感兴趣的同学,欢迎加下方的交流群一起学习,相互讨论。
python交流学习秋秋群: 515267276,多多交流问题,互帮互助,群里有不错的学习教程和开发工具。学习python有任何问题(学习方法,学习效率,如何就业),可以随时来咨询我