.1. 第一个python程序
1.1. python中常用的快捷键
ctrl+s - 保存
ctrl+r - 搜索+替换
ctrl+z - 撤销
ctrl+shift+z - 反撤销
ctrl+n - 新建文件(mac)-windows(搜索)
ctrl+r - 搜索+替换
tab - 补全代码
1.2. 注意事项:
代码里面的所有和语法相关的符号,都是英文输入法中对应的符号.
print,数python中的内置函数,作用是打印括号内的内容.
单引号 ' ' 是字符串的标志.
例如: print('HELLO world')
2. 基础语法
2.1.注释
程序中专门用来注释说明的文字,不参与程序编译和执行,对程序功能没
影响.
单行注释:#
多行注释:"""XXX""",或者三个单引号扩起来.
2.2. 标识符
用来给变量,函数,类命名的
要求:由数字,字母和下划线组成,不能以数字开头.
python3+中标识符可以包含非ascii码字符,但实际开发不要用.
2.3. 行与缩进
python中对代码有严格要求.同一级代码前面的缩进(空格\tab)的个数必须一致.
行的规范:要求声明函数和类的前后需要有2个空行,例如:
if 100>10:
print('a')
2.4. 分段(行)显示
一句代码很长,需要多行显示的时候,可在需要换行的位置加.
注意:\不能将一个数据或者变量名拆开.
num=2832 + 5522 + 91545 +
1231 + 1323 +
13231 + 1324
如果代码数列表,元祖,字典,集合的字面量,可以直接换行不用加\
2.5. 一行显示多条语句
一行显示一条语句的时候,后面不用加分号。但是如果希望在一行显示多条语句,那么多条语句之间必须加分号.
print('ss');print('daw')
2.6. 关键字
python中已经定义好的有特殊的功能或者特殊的意义的一些标识符,就是python的关键字。
命名的时候不能使用关键字
'False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class',
'continue','def','del','elif','else','except','finally', 'for','from', 'global', 'if', 'import', 'in',
'is', 'lambda', 'nonlocal','not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield'
2.7. print函数和input函数 (掌握)
print(内容) - 在控制台中打印内容(内容必须是pytho数据).
print(内容1, 内容2, ..., 内容n) - 在一行打印多个内容,在控制台显示的时候多个内容之间用空格隔开.
默认情况下,一个print中的内容占一行(以换行结束)。一个print中的多个内容用空格隔开
(了解)
print(内容,内容1,...,内容n, end='换行标志')
print(内容,内容1,...,内容n, sep='分割标志')
input() - 从控制台输入一串内容,以回车结束。并且将内容返回(以字符串的形式返回)
input('提示信息')
print(input('请输入:'))
3. python常用数据类型
python中常用的数据类型有:整型、浮点型、布尔、字符串、列表、字典、元祖、集合、函数等....
3.1. 常见数据类型的字面量(常量)
整型: 100, 23, -129 -- 所有的整数
浮点型: 12.3, 45.0, -0.1123 -- 所有的小数
布尔: True, False -- 只有两个值
字符串: 'abc', "ahjs", '348sj', "上的+-" -- 由双引号或者单引号括起来的内容
列表: [12, 'abc', True]
元祖:(23, 89, 'asd')
字典:{'ab': 120, 18:'abc'}
3.2. 数字相关类型
a.整型(int):整数对应的类型,包含了所有的整数。python3.x中整数对应的类型只有一个:int,
python2.x中整数对应的类型有:int和long
python中的整数,除了可以用十进制表示,还可以用二进制、八进制和十六进制进行表示.
b.浮点型(float): 小数对应的类型,包含了所有小数.
支持科学计数法
12.90
-12.03
2e4 # 20000.0
c.布尔(bool):只有True和False, 其中True表示真,False表示假.True实质就是数字1,False实质是数字0;True和False都是关键字.
d.复数(complex): 所有的虚数对应的类型
数字后面加j,来表示复数的虚部。实部就是普通数字
print((10+1j)+(20-9j))
3.3. type函数
type(数据) - 获取数据对应的类型
print(type(100))#int
print(type(10+2j))#complex
3.4. isinstance函数
isinstance(数据,类型) - 判断指定的数据是否是指定的类型,结果是布尔值.
isinstance(100, float) # 判断100是否是float类型
print(isinstance(100, float)) # False
print(isinstance(100, int)) # True
3.5. 类型的强制转换
类型名(数据) - 将指定数据转换成指定类型
整型转成浮点型: 在整数的后面加.0 float()
浮点型转换成整型: 只保留小数点前面的整数部分 int()
其他类型转布尔: 0转换成False,其他的转换成True bool()
注意:复数不能转换成整型和浮点型,可以转换成布尔类型(不管什么数据都可以转换成布尔).
4. 进制
4.1. 十进制
a.基数:0,1,2,3,4,5,6,7,8,9
b.进位:逢10进1
c.位权:123 = 110^2 + 210^1 + 3*10^0 (10^n)
d.表示: 所有的数字都是10进制数(数字直接写)
4.2. 二进制
a.基数: 0,1
b.进位: 逢2进1
c.位权: 1101(2) = 12^0 + 02^1 + 12^2 + 12^3 = 13 (2^n)
d.表示: 在二进制数前加前缀:0b或者0B
4.3. 八进制
a.基数:0,1,2,3,4,5,6,7
b.进位:逢8进1
c.位权: 123(8) = 38^0 + 28^1 + 1*8^2 = 83 (8^n)
d.表示:在八进制数加前缀:0o或者0O
4.4. 十六进制
a.基数:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)
字母大写和小写都可以
b.进位:逢16进1
c.位权: 123(16) = 316^0 + 216^1 + 1*16^2 (16^n)
d.表示: 在十六进制数的前面加前缀:0x或者0X
4.5. 其他进制和十进制之间的转换
a.其他进制转十进制:每一位上的数权值,然后再求和 110(2) = 12^1 + 1*2^2 = 6(10)
b.将十进制转换成其他进制:100(10) = 1100100(2)-累除法
4.6. 二进制和八进制十六进制的相互转换
a. 二进制转八进制:每3位的二进制转换成1位的八进制
001 100 100 110 010 011 100(2) = 1446234(8)
八进制转二进制:每1位8进制,转换成3位的二进制
6745(8) = 110 111 100 101(2)
b. 二进制转十六进制:每4位的二进制转换成1位的十六进制
0110 0100 1100 1001 1100(2) = 64c9c(16)
十六进制转二进制:每1位16进制,转换成4位的二进制
6745(16) = 0110 0111 0100 0101(2)
4.7. 进制转换相应的函数 - 返回值是字符串
bin(数字) - 将数字转换成2进制
oct(数字) - 将数字转换成8进制
hex(数字) - 将数字转换成16进制
注:所有进制最后会自动转换成10进制
print(0b111 + 0b110)#
5. 原码,反码和补码
5.1. 计算机数据的存储
计算机能够直接存储的是数字,并且存的数字的补码
5.2. 计算机内存大小单位
位(bit)
1字节 = 8位
1KB = 1024字节
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
5.3. 原码
符号位+真值 (用最高位表示符号位,后面的其他为表示数字的二进制)
符号位: 0 -> 正, 1 -> 负数
真值 :数字对应的二进制值
10(原码) = 00001010
-10(原码) = 10001010
5.4. 反码
正数的反码和原码一样。负数的反码是符号位不变,其他位上的数取反(0变成1,1变成0)
10(反码) = 00001010
-10(反码) = 11110101
5.5. 补码:
正数的补码和原码一样。负数的补码就是反码加1
10(补码) = 00001010
-10(补码) = 11110110
注意:数据存储和运算的时候采用的是补码。看结果看的是原码
如果计算机存储的是原码:
3:0011
2:0010
3+2 = 0101 = 5
原码:
3-2 = 3+(-2) = 1101 = -5
3: 0011
-2:1010
补码:
3(补) = 0011
-2(补) = 1101(反) = 1110(补)
0011(补)+1110(补) = 0001(补) = 0001(原) = 1
2-3
2:0010(原)= 0010(补)
-3:1011(原) = 1100(反)= 1101(补码)
0010(补)+ 1101(补码) = 1111(补码)= 1110(反) = 1001 = -1
网友评论