一 编程中的快捷键
ctrl+s - 保存
ctrl+c - 复制
Ctrl+v - 粘贴
ctrl+f - 搜索
Ctrl+n - 新建
Ctrl+r - 搜索+替换
ctrl+z -撤销
ctrl+shift+z-反撤销
tab /Enter - 补充代码
注意事项:
1.程序中所涉及的所有符号都是英文状态下的.
2. print,是python内置函数,作用是用来打印括号中的内容,单引号是字符串的标志
二 Python的基础语法
1.注释
注释是程序中的注释性说明的文字,不会参与程序的编译和执行
2.方法
- 单行注释:在说明性文字前面加#号键
- 多行注释:直接用三个单引号或者三个双引号括起来用来设置多行注释;但是一般使用三个双引号
*标识符: 标识符专门是用来专门命名的,给函数命名,变量命名,类命名等
(python中的标识符要求是有数字,字母和下划线组成,并且不能数字开头。
注意,在Python3.x中,标识符中可以包含非ASCII码(非Asscii包含中文,日文、韩文、拉丁文等)但是在实际开发中不要用)
例如:
num = 100
4ee = 100 SyntaxError: invalid syntax(语法错误,无效语法;数字开头)
3.行与缩进
-
Python对里面的所有代码都有严格的要求,格式上下要一致,不然会报错。同一级的的代码前面的缩进(空格/tab)的个数必须一致。一般一个tab表示一个缩进,空格也可以
-
行的规范:要求声明函数和类的前后都需要两个空格
4.分(段)行显示
- 一句代码很长,需要多行显示的时候,需要在换行的位置加 /
eg:num = 267687 + 98080980+6987798
如果代码是列表、元祖、字典、集合的书面量,可以直接换行,不用加/
5.一行语句显示多行
print('267868763');print('687hdsjh')
- 一行显示语句的时候,后面不用加分号,一行显示多行的语句的时候,后面加分号
6.关键字(保留字)
python 中已经定义好的有特殊功能或者特殊意义的的一些标识符,就是Python的关键字在命名的时候不能用。(关键字不是很多。)
import keyword #导入keyword模块
print(keyword.kwlist)
7print 函数和input函数
- print (内容)-在控制台中打印内容(内容必须是Python数据)
- print(内容1,内容2.。。内容n)-在一行打印多个内容在控制台显示的时候,多个内容之间空格用
默认情况下,一个print占一行,一个print打印多个内容用空格隔开
print(内容1,内容2.。。内容n,sep='')
print('111', 'hui')
*input() -从控制台输入一串内容,以回车结束,并且将内容返回(以字符串的形式返回)
input(’提示信息')
print(input('请输入:'))
三 Python中常用的数据类型
python中常用的数据类型有:整型、浮点型、布尔、字符串、列表、字典、元祖、集合、函数等
1.常见数据类型的字面量 (常量)
a.整型: 100, 23, -129 -- 所有的整数
b.浮点型: 12.3, 45.0, -0.1123 -- 所有的小数
c.布尔: True, False -- 只有两个值
d.字符串: 'abc', "ahjs", '348sj', "上的+-" -- 由双引号或者单引号括起来的内容
e.列表: [12, 'abc', True]--中括号括起来的内容
f.元祖:(23, 89, 'asd')---用小括号括起来的内容
g.字典:{'ab': 120, 18:'abc'}---用大括号括起来的内容
eg:
100--整型
12.3-浮点型
True-布尔值
'348sj'--字符串
[12, 'abc', True]--列表
(23, 89, 'asd')--元祖
{'ab': 120, 18:'abc'}---字典
2.数字相关类型
python中和数字相关的类型:整型、浮点型、布尔、复数(虚数)
-
a.整型(int):整数对应的类型,包含了所有的整数。python3.x中整数对应的类型只有一个:int
python2.x中整数对应的类型有:int和long -
b.python中的整数,除了可以用十进制表示,还可以用二进制、八进制和十六进制进行表示
- a.浮点型(float): 小数对应的类型,包含了所有小数。支持科学计数法
eg:
12.90
-12.03
2e4 # 20000.0
print(2e4)
print(3e-2)
- c.布尔(bool): 只有True和False, 其中True表示真,False表示假。
True实质就是数字1,False实质是数字0
True和False都是关键字
证明:
print(True, False)
print(1+True, 1+False)
- d.复数(complex): 所有的虚数对应的类型
数字后面加j,来表示复数的虚部。实部就是普通数字
eg:
10+1j
20-9j
print((10+1j)+(20-9j))
3.type函数
type(数据) - 获取数据对应的类型
print(type(10+2j))
4.isinstance函数
isinstance(数据,类型) - 判断指定的数据是否是指定的类型,结果是布尔值
isinstance(100, float) ----- 判断100是否是float类型
print(isinstance(100, float)) # False
print(isinstance(100, int)) # True
5.类型的强制转换
- 类型名(数据) - 将指定数据转换成指定类型
- 整型转成浮点型: 在整数的后面加.0 float()
- 浮点型转换成整型: 只保留小数点前面的整数部分 int()
- 其他类型转布尔: 0转换成False,其他的转换成True bool()
- 注意:复数不能转换成整型和浮点型,可以转换成布尔类型(不管什么数据都可以转换成布尔)
eg:
print(float(False))
print(int(False))
print(bool(10+10j))
4.数型的进制
1.十进制
a.基数:0,1,2,3,4,5,6,7,8,9
23
123
90
89
77677676
b.加法运算:逢10进1
c.位权(数码所表示的数值等于该数码本身乘以一个与它所在数位有关的常数):123 = 110^2 + 210^1 + 3*10^0 (10^n)
d.表示: 所有的数字都是10进制数(数字直接写)
eg:
123
10
78
67
2.二进制
-
a.基数: 0,1
-
b.加法运算: 逢2进1
1+0 = 1
0+1 = 1
0+0 = 0
1+1 = 0 -- 进1
110 + 011 = 1001
101+110 = 1011
-
c.位权: (2^n) 从右起开始,每一个数字表示的是 :数字2^(n-1)
例如:
1101(2) = 12^0 + 02^1 + 12^2 + 1*2^3 = 13 -
d.表示: 在二进制数前加前缀:0b或者0B
0b10101
0B01010
0b2100 ---SyntaxError: invalid syntax (二进制的表示中,不能出现比基数大的数字)
3.八进制
-
a.基数:0,1,2,3,4,5,6,7
-
b.进位:逢8进1
-
c.位权: (8^n)
123(8) = 38^0 + 28^1 + 1*8^2 = 83 -
d.表示:在八进制数加前缀:0o或者0O
0o12
0O67
4.十六进制
-
a.基数:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)
字母大写和小写都可以
123
12a
ff
ef
abc
abc12 -
b.进位:逢16进1
-
c.位权: 123(16) = 316^0 + 216^1 + 1*16^2 (16^n)
-
d.表示: 在十六进制数的前面加前缀:0x或者0X
0x12a
0Xffee
0X1023
5.其他进制和十进制之间的转换
a.其他进制转十进制:每一位上的常数乘以权值,然后再求和,就是该数字十进制的表示方法
110(2) = 12^1 + 12^2 = 6(10)
110(8) = 18^1 + 18^2 = 72(10)
110(16) = 116^1 + 116^2 = 272(10)
b.将十进制转换成其他进制: 用该数处于它的进制位,保留余数,直到商数小于进制位后,从把余数倒叙排列,就是该数值,转化为十进制的数值
100(10) = 1100100(2)
100(10) = 144(8)
100(10) = 64(16)
79(10) = 1001111(2)
79(10) = 117(8)
79(10) = 4f(16)
6. 二进制和八进制十六进制的相互转换
(因为2和8和16是次方关系,之间转换很简单)
- a.二进制转八进制:每3位的二进制转换成1位的八进制(因为8是2的三次方)
例如:
001100100110010011100(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位的二进制(前面用数字0补充够四位)
6745(16) = 0110 0111 0100 0101(2)
a12(16) = 1010 0001 0010(2)
"""
7.进制转换相应的函数 - 返回值是字符串
- bin(数字) - 将数字转换成2进制
例:
print(bin(100))
print(bin(0x6745))
print(bin(0o76))
*2. oct(数字) - 将数字转换成8进制
例:
print(oct(100))
print(oct(0x1af))
print(oct(0b110001101))
- hex(数字) - 将数字转换成16进制
例:
print(hex(100))
print(hex(0o67))
print(hex(0b11011101110))
- 所有进制最后会自动转换成10进制
num = 0xaf
print(num)
代码 print(0b111 + 0b110)
5. 源码、反码和补码
1. 计算机的存储
计算机能够直接存储的是数字(仅为二进制数字,也就是1和0),并且存储的是数字的补码。
2.计算机内存大小单位
计算机最小的储存单位是 位(bit)
1字节 = 8位
1KB = 1024字节
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB
3.原码:符号位+真值 (用最高位表示符号位,即他的正负,后面的其他数值表示该值的二进制数值)
符号位: 0 表示 正数, 1 表示负数。
真值 :数字对应的二进制值
10(原码) = 00001010
-10(原码) = 10001010
4.反码:
正数的反码和原码一样。
负数的反码是符号位不变,其他位上的数取反(0变成1,1变成0)
10(反码) = 00001010
-10(反码) = 11110101
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
"""
print(bin(53))
图片发自简书
网友评论