##一、快捷键
ctr+a全选
ctr+shift+z反撤销
ctr+f查找替换
ctr+c复制
ctr+v粘贴
ctr+x剪切
ctr+s保存
ctr+r/f查找/替换
ctr+z回撤
ctr+/注释
二、基础语法
1、注释
注释:程序中不参与执行,不影响程序功能的说明性文字。
1)单行注释:#(接需要注释的内容)
#第一行注释
#第二行注释
2)多行注释:’’’(需要注释的内容)’’’
'''
第一行注释
第二行注释
...
'''
2、语句
1)一条有效代码就是一个语句
2)一般情况下一条语句占一行
3)一条语句结束不需要分号(如果多条语句在一行显示,必须用分号隔开)
4)如果一条语句很长,需要多行显示,在换行时用\链接
print('abc') #abc
print('czl') #czl
print(1111111111+5555555555+2222222222+\
33333333333+66666666666+44444444) #108933333331
3、缩进
python是通过缩进和冒号来产生代码块的,没有块语法的时候不能随便使用缩进。
print('第一行')
print('第二行')
4、标识符和关键字
4.1、标识符 - 用来给变量、函数、类取名
python中标识符的要求:1)有字母,数字或者下划线组成; 2)不能数字开头,不能使用关键字。
注意:python3.x中标识符可以出现中文,但是实际开发中不能这么做
合法的标识符:L40,40,a_b10,anc12,_
不合法:40L,zbc+123,abc.123
####4.2、关键字
在python中有特定功能或者特殊意义的一部分标识符就是关键字。(对于特定的语言来说关键字有哪些,每个关键字的意义和功能是固定的)
import keyword #导入keyword模块
print(keyword.kwlist) #打印所有关键字
5、常用数据
1)数字数据:表示大小的数据才是数字数据,数字数据在程序中表示的时候直接写。
a = 100
b = int(input('请输入数字'))
print('a和b的和:',a+b)
注:input()接收的是字符串类型的数据,接收数字数据需强制转换。
2)文本数据:用文字信息描述的数据就是文本数据,文本数据在程序中表示的时候要放在单/双引号内。
c = '123czl'
print(c)
3)布尔值:只有true和false两个值,通常表示真和假。
###6、常见数据类型
1)int(整型) - 所有整数对应的数据类型。python2.x有long
2)float(浮点型) - 所有的小数对应的类型都是浮点型。(支持科学计算法)
3)str(字符串) - 所有文本数据对应的数据类型。
4)bool(布尔类型) - Ture和False对应的数据类型。
5)其他常见类型:list(列表),tuple(元组),dict(字典),迭代器,生成器,函数,自定义类型…
三、输入输出
1、输出函数 - print()
在控制台打印指定数据(打印结束自动换行)。
# 用法一:print(输出的信息)
print('==============用法一================')
print('hello world!')
print(1000)
print(True)
# 用法二:print(数据1,数据2,数据3,数据4,...)
print('===============用法二===============')
print('haha',123,True)
# 方法三:print(‘数据1’,’数据2‘,...,end='内容') 不换行
print('=============用法三=================')
print('123;',end='321 ')
print('hello world!')
# 方法四:print(数据1,数据2,数据3,...,sep='间隔的内容(文本数据)')
print('==============用法四================')
print(1,2,3,4,5,6,7,8,9,sep='<')
print('======================')
print(1,2,3,4,5,6,7,8,9,sep='<',end=';') #sep和end谁在前谁在后没影响
print('都小于10')
print(sum(range(1,5)))
2、输入函数 - input()
用法:input(请输入提示信息)
tel = input('请输入手机号:')
print(tel)
print(sum(range(101)))
四、进制介绍
常见进制:十进制,二进制,八进制,十六进制
1、十进制
1)基数:0~9
2)进位:逢十进一
3)位权:不同数字在不同位置表示的意义不同,10的n次方
1121(10) = 1*10^3+1*10^2+2*10^1+1*10^0
4)程序中直接写
2、二进制
1)基数:0,1
2)进位:逢二进一
'''
11011 + 10111 = 110010
1011 + 111010 = 1000101
'''
3)位权:
101011(2) = 2^5 + 2^3 + 2^1 + 2^0
4)程序中表示:二进制数前需要加0b/0B
5)转换: bin(其他进制的数)
0b111001 #代码中二进制数的写法
print(0b11001)
print(bin(20)) #十进制转二进制二进制
3、八进制
1)基数:0~7
2)进位:逢八进一
'''
76 + 45 = 143
'''
3)位权:八的n次方
123(8) = 1*8^2 + 2*8^1 + 3*8^0 = 64 + 16 + 3 = 83
4)程序中表示方法:0o/0O
5)转换: oct(其他进制的数)
0o10
0o45 #代码中八进制数的写法
print(oct(20)) #十进制转八进制
4.十六进制
1)基数: 0,1,2,3,4,5,6,7,8,9, a(10), b(11), c(12), d(13), e(14), f(15)
2)进位: 逢16进1
3)位权:
'''
123(16) = 16^2 + 2*16^1 + 3*16^0 ==256 + 32 + 3 = 291
'''
4)表示方式(python): 十六进制数前加0x/0X
5)转换: hex(其他进制的数)
0x9afdab
0x5aBc2F #代码中十六进制的表示方法
print(hex(20)) #十进制转十六进制
五、不同进制之间的相互转换
1、其他进制转十进制
手动转换:每一位上的数乘以位权再求和
0b1011 -> 2^3 + 2^1 + 2^0 == 8 + 2 + 1== 11
0o12 -> 1*8^1 + 2*8^0 == 8 + 2 == 10
0xaf -> 10*16^1 + 15*16^0 == 160 + 15 == 175
用代码转换的方法:
print(0b1011)
print(0o12)
print(0xaf)
2、十进制转其他进制
手动转换:1)辗转取余法
从后往前取余直到余数为0。(图为十进制转二进制)
十进制转八进制就除8取余,十进制转十六进制就除16取余。
3、八进制,十六进制和二进制的相互转换
这三种进制之间存在联系:
8= 2^3
16=2^4
八进制转二进制:将一位八进制转换为三位二进制
0o67 -> 0b110 111
0o624 -> 0b110 010 100
十六进制转二进制:将一位十六进制转换为四位二进制
0xaf ->0b1010 1111
0xf21 ->0b1111 0010 0001
0xa8e4 ->0b1010 1000 1110 0100
2进制转8进制
8 4 2 1 #从后往前每三位二进制数转换为一位八进制数,最后不够用0补齐
1 1 0 -> 4+2+0=6
1 1 1 -> 4+2+1=7
0 1 1 -> 0+2+1=3
2进制转16进制同理:每四位2进制数转换为一位16进制数。
六、原码、补码和反码
1、原码
源码 = 符号位+真值
符号位:最高位表示符号(0表示正,1表示负)
真值:数字的绝对值的二进制
10(int)的原码:00001010 (python中)
10(int)的原码:00000000 00000000 00000000 00001010 (C语言中)
-3原码:1000 0011
-2原码:1000 0010
一个字节八位,不足八位用0补齐。
2、负数的反码(正数原码,反码,补码相同,都是原码)
-10的反码:1111 0101
-3的反码:1111 1100
-2的反码:1111 1101
3、负数的补码 ->反码加一
计算机存储和操作数据是操作的补码,显示看结果是返回原码
-10的补码:1111 0110
-3的补码:1111 1101
-2的补码:1111 1110
例:
补码计算3-2=1
0000 0011(补)+ 1111 1110(补)=0000 0001(补) --符号位0表示正->0000 0001(原)=1
源码计算3-2=
0000 0011(原) + 1000 0010(原) = 1000 0101(原)—符号位1表示负
计算机运算时利用补码计算,最后再还原。