##1.python的简单快捷键
# ctr + x - 剪切
# ctr + s - 保存
# ctr + / - 注释和撤销注释
# ctr + z - 撤销
# ctr + shift + z - 反撤销
# 鼠标点击 + shift(不放) - 选中部分
# 鼠标点击 + option/alt(不放) - 创建多个光标
print('hello world!')
print('你好,世界!')
程序中不参与编译执行(不参与解释)也不影响程序功能的说明性文字就是注释。
在说明文前面加“#”(#后面就是注释)
print('hello word!') # 打印 hello word!
上面代码中“# 打印 hello word!”就是注释
将注释放在’‘’ ‘’‘(三个单引号)或者“”“ ”“”(三个双引号)之间
'''
第一行
第二行
第三行
.......
'''
"""
第一行
第二行
第三行
........
"""
一条有效代码就是一个语句
一般情况下一条语句占一行
print('abc')
print('李四')
一条语句结束后不需要分号(如果多条语句在同一行显示必须用分号隔开)
print('abc');print('李四')
如果一条语句很长时需要多行显示时,在换行时使用“\”连接
result = 5645+456+54+7897 + \
565+5656+5656+5656+5656+787 + \
565+5656+5656+5656+5656+787
print(result)
缩进不能随便加
python是通过缩进和冒号来产生代码块,在没有语法的情况下不能顺便在代码中加缩进,如果随意添加缩进会报错
print('第一行')
print('第二行')
if True:
print('abc')
python中的标识符要求:**1)**由字母、数字或者下划线(——)组成 **2)**不能是数字开头
**注意:**python3.X中标识符可以出现中文,但实际开发的时候不能这么做
合法的标识符:L40,40,a_b10,abc12,_
不合法的标识符:40L,abc=12,abc.6
有特殊功能或者特殊意义的标识符就是关键字。(对于特定的语言来说关键字有哪些,每个关键字的意义和功能是固定的)
import keyword # 导入 keyword 模块
print(keyword.kwlist) # 打印所有关键字
45
123
'女'
"男"
True
False
数据类型是对数据的分配
3e4
1.2e-2
其他常见类型:list(列表) tuple(元组) 、dict(字典)迭代器、生成器函数自定义类型
print(数据)- 在控制台打印指定数据(打印一个数据后会自动换行)
print('hello word!')
print(110)
print('=============')
print(数据一,数据2,数据3,…)-(在控制台的一行打印多个数据用空格隔开)
print('你好',456,False)
print(数据1,数据2,…,end=文本数据)在控制台的一行打印多个数据,数据之间用空格隔开,所有数据打印指定的文本数据不会换行
print('hello word!',45,565,end='?')
print('========')
print(数据1,数据2,数据3,…,sep=文本数据)
print(1,2,5,9,8,3,sep='*',end='等于')
print(456)
变量 = inptut(输入提示信息)–用变量获取输入信息后的内容(输入时按回车键完成输入)
**注意:**不管输入的内容是什么,变量获取到的数据类型都是字符串
tel = input('请输入账号:')
print(tel)
数字在计算机中的表现方式常见的有四种:十进制、八进制、二进制、十六进制
1231 = 1*10^3 + 2*10^2 + 3*10^1 + 1*10^0
123
4112
11011 + 10111 = 110010
1011 + 111010 = 1000101
101011 = 1*2^5 +1*2^3 +1*2^1 +1*2^0 = 43
0b101
0B101101
76 + 45 = 143
45 + 66 = 133
123 = 1*8^2 + 2*8^1 + 3*8^0 = 83
0o65
0o1234567
9+6=F
7+9=10
123 = 1*16^2 + 2*16^1 + 3*16^0
0X9af456
0x98abc1
**注意:**十进制数能做的事情其他进制数也能做
print(291 + 1)
print(0x + 2)
**1. 手动转换:**每一位数乘以位权在求和
例:
0b1011 -> 2^0 + 2^1 + 2^3 = 1 + 2 + 8 =11
0o 12 -> 2*8^0 + 1*8^1 = 10
0xaf - > 15*16^0 + 10*16^ = 175
**2. 使用代码:**直接使用print函数打印
print(0b10110)
print(0o45)
print(0xaf)
输出结果(十进制):
22
37
175
100 -> 0b1100100
100 -> 0o144
100 -> 0x64
print(0b1100100,0o144,0x64)
输出结果:
100 100 100
一位八进制数转换为三位二进制数
0o67 -> 0b110 111
6 7
一位十六进制数转换为四 位二进制数
0xaf -> 0b1010 1111
a f
示例:
print(bin(100))
print(oct(100))
print(hex(100))
输出结果:
0b1100100
0o144
0x64
计算机存数据的时候存的是数字的补码
程序员便才能操作的内存最小单位是:malloc(字节)
位(bit)
字节(byte) 1字节 == 8 位
kb 1kb = 1024字节
MB 1MB = 1024 kb
G 1G = 1024 MB
T 1T = 1024G
**注:**正数的原码补码反码都是一样的
原码 = 符号位 + 真值
符号位:最高位标是符号位(0 表示正,1表示负)
真值:数字的绝对值的二进制
例:
10的原码:00001010
-256的原码:10000001 00000000
128的原码:00000000 01000000
负数的反码 -> 原码符号位不变,其他位取反
10的反码:00001010(本身)
-10的反码:11110101
-2的反码:10000010(原码) 11111101(反码)
负数的补码 -> 反码加1
计算机存储和操作的是补码,显示结果的时候返回原码
10的补码:00001010(本身)
-10的补码:11110110
-2的补码:11111110(反码)
3+2=5
00000011 + 00000010 == 00000101 ->5
-3-2 = -5