day2 python基础语法总结

1.快捷键

ctrl + / - 添加或者取消一行注释
ctrl + s - 保存
ctrl + c - 复制
ctrl + v - 粘贴
ctrl + n - 新建文件
ctrl + f - 搜索
ctrl + r - 搜索+替换
ctrl + z - 撤销
ctrl + shift + z - 反撤销
ctrl + a# - 全选
shift + 鼠标 - 选中指定范围
tab - 补全代码

2.注意事项

程序中涉及到的所有和语法相关的符号,都是在英文输入法下对应的符号
print,是python内置函数,作用是用来打印括号中的内容
单引号是字符串的标志
print('hello world')
print('HELLO python')


1.注释

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

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

2.标识符

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

"""
要求:
python中的标识符要求是由数字、字母或下划线组成,并且数字不能开头

注意,在python3.x标识符中可以包含非ASCII码字符(非ASCII码包含中文、日文、韩文等等)
但是在实际开发中不要用
"""
num = 100
num2 = 100
__ = 100

12 = 100 数字不能开头

你 = 100

3.行与缩进

python中对代码里面的所有有严格要求。同一级代码前面的缩进(空格/tab)的个数必须一致
行的规范:要求声明函数和类的前后需要有两个空行
print('hello world') #IndentationError: unexpected indent
if 100 >10:
    print('大于')

4.分段(行)显示

一句代码很长,需要多行来显示的时候,需要在换行的位置加\
注意:加\的时候不能将一个数据,一个变量名给拆开
num = 1111+52525+1145+\
2222222222+1521252+\
    444444444
如果代码是列表、元祖、字典、集合的字面量,可以直接换行,不用加\

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']
"""

import keyword   #  导入keword模块
print(keyword. kwlist)  # 打印python中所有的关键字

7.print函数和input函数

"""

掌握:

print(内容) - 在控制台中打印内容(内容必须是python数据)
print(内容1,内容2,...,内容N) - 在一行打印多个内容,在控制台显示多个内容之间用逗号隔开

默认情况下,一个print中的内容占一行(以换行结束)。一个print中的多个内容用空格隔开

了解:

print(内容,内容1,...,内容,end=‘换行标志’)
print (内容,内容1,...,内容,sep=‘分割标志’)
"""

print('打印1')
print(100)
print('aaa', 'bbb', 100)

print('打印1', end='==')
print('打印1', sep='++')

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

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

"""

print(input('请输入'))


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

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

"""
整型:100,23,-11 - 所有的整数
浮点型: 12.3 15.0 -0.1231 - 所有的小数
布尔: True,False - 只有这两个值
字符串: 'abc',"asa", -- 由双引号或者单引号括起来的内容
列表:[12, 'abc', True]
元祖: (23, 89, 'asd')
字典: {'abc': 120}
"""
100
12.3
True
'abc'
"asa"
[12, 'abc', True]
(23, 89, 'asd')
{'ab': 120, 18: 'cc' }

2.数字相关类型

"""
python中和数字相关的类型: 整型、浮点型、 布尔、复数
整型(int):整数对应的类型,包含所有的整数。
python3.x中整数对应的类型只有一个:int
python2.x中整数对应的类型有:intlong
python中都整数,除了可以用十进制表示,还可以用二进制,八进制,十六进制表示

"""
12
100
-20

3.浮点型(float):小数对应的类型,包括所有的小数

支持科学计数法

12.90
-12.03
2e4 #20000

print(2e4)
print(3e-2)

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

print(True, False)
print(1+True, 1+False)
4.复数(complex):所有的虚数对应的类型

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

10+1j
20-8j

print((10+1j)+(20-9j))
5.type函数

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

print(type(100))
print(type(10+2j))

isinstance函数

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

isinstance(100, float)       # 判断100是否是float类型
print(isinstance(100, float))      # Flase
print(isinstance(100, int))        #  True
6.类型的强制转换

"""
类型名(数据) - 将指定数据转换成指定类型
浮点型转换成整数: 只保留小数点前面的整数部分,小数部分直接去掉 - int()
整型转换成浮点型: 在整数后面加.0 - float()
其他类型转换布尔: 0会转换成Flase,其他转换成True - bool()
注意:复数不能转换成整型和浮点型,可以转换成布尔型(不管什么数据类型都能转换成布尔型)
"""

print(int(12.5))
print(float(100))
print(float(False))
print(int(False))
print(complex(False))


1.十进制

"""
基数:0,1,2,3,4,5,6,7,8,9
进位:逢10进1
位权:123=100+20+3=110^2+2101+3*100
表示方式:直接写数字(默认情况下所有所有数字都是十进制)
"""

2.二进制

"""
基数:0,1
进位:逢2进1
1+1=10
110+011=1001
位权:1101=12^0+021+1*22+1*2^3
表示方式:在二进制数字前加前缀:0b或者0B
"""
0b10110
0B10110

3.八进制

"""
基数:0,1,2,3,4,5,6,7
进位:逢8进1
位权:123=38^0+281+1*82
表示方式:在八进制数字前加前缀:0o或者0O
"""
0o123

4.十六进制

"""
基数:0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f
字母大小写都可以
进位:逢16进1
位权:123(16)=316^0+2161+3*162
表示方式:在十六进制数字前加前缀:0x或者0X
"""
0x1acdc

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

"""
a.其他进制转换成十进制:每一位上的数权值,然后在求和
110(2)=1
21+1*22=6
110(8)=18^1+28^2=72
110(16)=116^1+116^2=272
b.将十进制转换成其他进制:
100(10)=0b1100100
100(10)=0o144
100(10)=0x64

79=0b1001111
79=0o117
79=0x4f
"""

6.二进制和八进制、十六进制的相互转换

"""
a.二进制转换成八进制:每3位二进制转换成1位八进制
0b001100100110010011100 = 0o1446234

八进制转换成二进制:每1位八进制转换成3位二进制
0o6745 = 0b110 111 100 101

b.二进制转换成十六进制:每4位二进制转换成1位十六进制
0b0110 0100 1100 1001 1100 = 0x64c9c
十六进制转换成二进制:每1位十六进制转换成4位二进制
0xa12 = 0b1010 0001 0010
"""

7.进制转换成相应的函数 - 返回值是字符串

"""
bin(数字) - 将数字转换成2进制
"""

print(bin(100))
print(bin(0x6745))
print(bin(0o76))

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

print(oct(100) )
print(oct(0x1af) )
print(oct(0b101010101001))

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

print(hex(100) )
print(hex(0o1456) )
print(hex(0b11110111) )

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

num = 0xaf
print(num)
8.小数二进制与十进制的相互转换
二进制小数转十进制小数,也是采取位权的方法

例如:ab.cde=a * 10^1 + b * 10^0 + c * 10^-1 + d * 10^-2 + e * 10^-3

十进制小数转二进制小数,"乘2取整,顺序排列"法。

具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位

例如:0.625=(0.101)B
0.625 * 2 = 1.25 ------ 取出整数部分1
0.25 * 2 = 0.5 --------- 取出整数部分0
0.5 * 2 = 1 -------------- 取出整数部分1

再如:0.7=(0.1 0110 0110...)B
0.7 * 2 = 1.4 --- 取出整数部分1
0.4 * 2 = 0.8 --- 取出整数部分0
0.8 * 2 = 1.6 --- 取出整数部分1
0.6 * 2 = 1.2 --- 取出整数部分1
0.2 * 2 = 0.4 --- 取出整数部分0
0.4 * 2 = 0.8 --- 取出整数部分0
0.8 * 2 = 1.6 --- 取出整数部分1
0.6 * 2 = 1.2 --- 取出整数部分1
0.2 * 2 = 0.4 --- 取出整数部分0
......



"""

1.计算机数据的存储

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

2.计算机内存大小单位

位(bit)
1字节 =8位
1KB = 1024字节
1MB = 1024 KB
1GB = 1024 MB
1TB = 1024 GB

3.原码:符号位+真值(用最高位表示符号位,后面的其他位表示数字的二进制)
  符号位:0-> 正,1-> 负数
  真值:数字对应的二进制

10(原码) = 00001010
-10(原码) = 10001010

4.反码:

正数的反码和原码一样。负数的反码是是符号位不变其他位取反(0变成1,1变成0)
10(反码) = 00001010
-10(反码) = 11110101

5.补码:

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

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



你可能感兴趣的:(day2 python基础语法总结)