day2 总结

2018-11-06  本文已影响0人  熙包包

一.Python程序

1.快捷键

ctrl + s - 保存

ctrl + / - 添加或取消一行注释

ctrl + c - 复制

ctrl + V - 粘贴

ctrl + n - 新建文件

ctrl + f - 搜索

ctrl + r - 搜索+替换

ctrl + z - 撤销

ctrl + shift + z - 反撤销

ctrl + a - 全选

shift + 鼠标 - 选中指定范围

tab - 补全代码

2.注意事项

程序中涉及到的所有和语法相关的符号,都是在英文输入法下对应的符号

二.python基础语法

1.注释

注释是程序中专门用来注释说明的文字。不会参与程序编译和执行。对程序的功能没有任何影响
单行注释:在说明性文字前加#

使用三个单引号或者三个双引号括起来,来设置多行注释
但是一般使用三个双引号

2.标识符

标识符就是专门用来命名的。给变量命名、函数命名、类命名等

要求:python中的标识符要求是由数字、字母和下划线组成,并且数字不能开头
注意,在python3.x,标识符中可以包含非ASCII码字符(非ASCII码包含中文、日语、韩语、拉丁等)。
但是,在实际开发的时候不要用

3.行与缩进

python中对代码里面的所有有严格要求。同一级代码前面的缩进(空格/tab)的个数必须一致

行的规范:要求声明函数和类的前后需要有两个空行

4.分段(行)显示

一句代码很长,需要多行来显示的时候,可以在需要换行的位置加\

注意:加\的时候不能将一个数据,一个变量名给拆开

示例:

      2837487 + 34398748 + 384798578 +\
      37847578 + 347895789 + 457279 + \
      345234757 + 3549087 + 3457078 

如果代码是列表、元祖、字典、集合的字面量,可以直接换行,不用加\

示列:

list1 = [
    12,
    23,
    4543,
    'ahgshgd',
    'sjhfjkh'
]

5.一行显示多条语句

一行显示一条语句的时候,后面不用加分号。但是如果希望在一行显示多条语句,那么多条语句之间必须加分号

示列:

print('aaa');print('bbb')

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'

7.print函数和input函数

(掌握)
print(内容) - 在控制台中打印内容(内容必须是python数据)
print(内容1, 内容2, ..., 内容n) - 在一行打印多个内容,在控制台显示的时候多个内容之间用空格隔开

默认情况下,一个print中的内容占一行(以换行结束)。一个print中的多个内容用空格隔开
(了解)
print(内容,内容1,...,内容n, end='换行标志')
print(内容,内容1,...,内容n, sep='分割标志')

input() - 从控制台输入一串内容,以回车结束。并且将内容返回(以字符串的形式返回)
input('提示信息')

注意:程序执行到input的时候,程序会停下来,直到输入完成为止

print(input('请输入:'))

三.常用数据类型

pyrhon中常用的数据类型有:整型.浮点型.布尔.字符串.列表.字典.元祖.集合.函数等....

1.常见数据类型的字面量(常量)

整型:100,23,-129 - 所有的整数
浮点型:12.3,45.0,-0.1123
布尔:true,false - - 只有这两个值
字符串:'abc',"ahjs",'148sj',"上的+-" -- 由双引号或者单引号括起来的内容
列表:[12,'abc',True]
元祖:(23,89,'asd')
字典:{'ad':120,18:'abc'}

2.数字相关类型

python中和数字相关的类型:整型.浮点型.布尔.复数(虚数)
整型:整数对应的类型,包含了所有的整数。python3.x中整数对应的类型只有一个:int
python2.x中整数对应的类型有:int和long

python中的整数,除了可以用十进制表示,还可以用二进制.八进制和十六进制进行表示

浮点型(float):小数对应的类型,包含了所有小数。
支持科学计数法

12.90
-12.03
2e4     #20000.0
print(2e4)
print(3e-2)

布尔(bool):只有Teue和False,其中True表示真,False表示假。
True实质就是数字1,False实质就是数字0
True和False都是关键字

print(True,False)
print(1+True,1+False)

3.复数(complex):所有的虚数对应的类型

数字后面加j,来表示复数的虚部。实部就是普通的数字

print((10+1j)+(20-9j))

4.type函数

type(数据) - 获取数据对应的类型

print(type(200))

5.isinstance函数

isinstance(数据,类型) - 判断指定的数据是否是指定的类型,结果布尔值

isinstance(100,float)   #判断100是否是float类型
print(isinstance(100,float))    # False
print(isinstance(100,int))   # Trye

6.类型的强制转换

类型名(数据) - 将指定数据转化成指定类型
整型转成浮点型:整数的最后加.0 float()
浮点型转换成整型:只保留小数点前面的整数部分 int()
其他类型转布尔:0会转换成False,其他的转换成True bool()

注意:复数不能转换成整型和浮点数,可以转换成布尔类型(不管什么数据都可以转换成布尔)

print(int(20.333))
print(float(100))
print(bool(0.0000000000))
print(bool(100+1j))

四.进制

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进制数(数字直接写)

123
10
78
67

2.二进制

a.位权: 1101(2) = 12^0 + 02^1 + 12^2 + 12^3 = 13 (2^n)

b.表示: 在二进制数前加前a.基数: 0,1011011010001001001
111010101

c.进位: 逢2进1
1+0 = 1
0+1 = 1
0+0 = 0
1+1 = 0 -- 进1
110 + 011 = 1001
101+110 = 1011
前缀:0b或者0B

0b10101
0B01010
0b2100  # SyntaxError: invalid syntax
3.八进制

a.基数:0,1,2,3,4,5,6,7
67
12
106465

b.进位:逢8进1

c.位权: 123(8) = 38^0 + 28^1 + 1*8^2 = 83 (8^n)

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

num = 0x1010
print(num)

5.其他进制和十进制之间的转换

a.其他进制转十进制:每一位上的数权值,然后再求和
110(2) = 1
2^1 + 12^2 = 6(10)
110(8) = 1
8^1 + 18^2 = 72(10)
110(16) = 1
16^1 + 1*16^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. 二进制和八进制十六进制的相互转换

a.二进制转八进制:每3位的二进制转换成1位的八进制
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位的二进制
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))

oct(数字) - 将数字转换成8进制

print(oct(100))
print(oct(0x1af))
print(oct(0b110001101))

hex(数字) - 将数字转换成16进制

print(hex(100))
print(hex(0o67))
print(hex(0b11011101110))

所有进制最后会自动转换成10进制

tprint(0b111 + 0b110)
num = 0xaf
prin(num)

五.原码反码和补码

1.计算机数据的存储

计算机能够直接存储的是数字,并且存的是数字的补码

2计算机内存大小单位位(bit)

1字节 = 8位
1KB = 1024字节
1MB = 1024KB
1GB = 1024MB
1TB = 1024GB

3.源码:符号位+真值 (用最高位表示符号位,后面的其他位表示数字的二进制)

符号位: 0 -> 正,1 -> 复数
真值:数字对应的二进制值
10(源码) = 0 0001010
-10(源码) = 1 0001010

4.反码:

正数的反码和原码一样。复数的反码是符号位不变,其他位上的数取反(0变成1.1变成0)
10(反码)= 0 0001010
-10(反码)= 1 1110101

5.补码:

正数的补码和原码一样,复数的补码就是反码加一
10(补码)= 00001010
-10(补码)= 11110110

注意:数据存储和运算的时候采用的是补码。看结果看的是原码

上一篇下一篇

猜你喜欢

热点阅读