01 常用快捷键以及pycharm的简单使用
常用快捷键:
ctrl+a --------全选
ctrl+c---------复制
ctrl+v---------粘贴
ctrl+s---------保存
ctrl+z---------撤销
ctrl+shift+z--------反撤销
ctrl+x---------剪切
ctrl+/---------注释与撤销注释
鼠标点击+shift(不放)-------选中部分
鼠标点击+option/alt(不放)-------创建多个光标
02 基础语法
1.注释
程序中不参与编译执行(不参与解释),也不影响程序功能夫人说明性的文字就是注释
-
单行注释
在说明性文字前加 # ( # 后面的文字就是注释)
print('hello world!') # 这个是打印语句
-
多行注释
将说明性文字放在 ''' ''' 或者 """ """ 之间
''' 多行注释第一行 多行注释第二行 ......... '''
""" 多行注释1 多行注释2 ......... """
2.语句
一条有效代码就是一个语句
一般情况下一条语句占一行
一条语句结束不需要分号(如果多条语句要在一行显示,语句之间必须用分号隔开)
-
如果一条语句很长,需要多行显示的时候,在换行的时候需要用 \ 连接
print('张三') print('abc') result = 123411 + 2144 * 32145 - 145 - \ 313980 * 212 - 214 print(result)
3.缩进
python是通过缩进和冒号来产生代码块的,在没有块语法的时候不能随便在代码中添加缩进
print('第一行')
print('第二行')
if True;
print('abc')
4.标识符和关键字
-
标识符 —— 用来给变量、函数、类取名用的
python中标识符的要求:1)由字母、数字或者下划线(_)组成
2)不能由数字开头
注意:python3.x中标识符中可以出现中文,但是实际开发的时候不能这么做
合法的标识符:L40, 40, a_b10, abc12, _
不合法:40L, abc+123, abc.123
-
关键字
有特殊功能或者特殊意义的一部分标识符就是关键字。
import keyword # 导入 keyword 模块 print(keyword.kwlist) # 打印所有关键字
5.常用的数据
-
数字数据:用来表示大小的数据才是数字数据,数字数据在程序中表示的时候直接写
456 32131 -2332 +222
-
文本数据:用文字信息描述的数据就是文本数据,文本数据在程序中表示的时候需要放在单引号或者双引号中
'重庆开县' print(123) print('123')
-
布尔值:只有 True 和 False 两个值的数据,通常用来表示 真 和 假。
True False
6.常见数据类型
数据类型是对数据的分类
int(整型) - 所有整数对应的数据类型。 python2.x还有 long
-
float(浮点型) - 所有的小数对应的类型都是浮点数 (浮点数支持科学计数法)
3e2 1.3e-3str(字符串)
str(字符串)-所有的文本数据对应的数据类型
bool(布尔) - True和False对应的数据类型
其他常见类型:list(列表)、tuple(元组)、dict(字典)、迭代器、生成器、函数、自定义类型
03 输入与输出函数
1.输出函数 - print
- 用法一:print(数据) - 在控制台打印指定数据(打印结束后会自动换行)
print('hello world!')
print(110)
print(True)
print("你好!")
print('====================================')
- 用法二:print(数据1, 数据2, 数据3, ...) - 在控制台的一行打印多个数据,数据之间用空格隔开,所有数据打印结束后换行
print('你好', 100, False)
print('====================================')
- 方法三:print(数据1, 数据2, ..., end=文本数据) - 在控制台的一行打印多个数据,数据之间用空格隔开,所有数据打印结束后打印指定的文本数据(不会换行)
print('hello world!', end=' ')
print('====================================')
- 方法四:print(数据1, 数据2, 数据3,..., sep=文本数据)
print(10, 20, 30, 40, sep='加上', end='等于')
print(120)
2. 输入函数 - input
- 用法: 变量 = input(输入提示信息) - 用变量获取输入提示信息后输入的内容(输入的时候按回车结束)
- 注意: 不管输入的内容是什么,变量获取到的数据的类型都是字符串
tel = input('请输入手机号:')
print(tel)
04 进制
数字在计算机中表现的方式常见得有四种:十进制、二进制、八进制、十六进制
1. 十进制
- 基数:0,1,2,3,4,5,6,7,8,9
- 进位:逢10进1
- 位权:10的n次方 (n从低位到高位从0开始依次增加)
1231 = 110^3 + 210^2 + 310^1 + 110^0 - 程序中的表示方式:直接写
123
100
2. 二进制
基数:0,1
-
进位:逢2进1
""" 11011 + 10111 = 110010 1011 + 111010 = 1000101 """
位权:2的n次方 (n从低位到高位从0开始依次增加)
101011 = 2^5 + 2^3 + + 2^1 + 2^0 = 32 + 8 + 2 + 1 = 43程序中的表示方式:二进制数前加 0b或者0B
0b101
0B1010011
0b102 # 错误写法
3. 八进制
- 基数:0,1,2,3,4,5,6,7
- 进位:逢8进1
"""
76 + 45 = 143
"""
- 位权:8的n次方 (n从低位到高位从0开始依次增加)
123 = 18^2 + 28^1 + 3*8^0 = 64 + 16 + 3 = 83 - 程序中的表示方式:八进制数前加 0o或者0O
0o10
0O27
4. 十六进制
- 基数:0,1,2,3,4,5,6,7,8,9,a/A,b/B, c/C, d/D, e/E, f/F
- 进位:逢16进1
"""
9 + 6 = F
7 + 9 = 10
"""
- 位权:16的n次方 (n从低位到高位从0开始依次增加)
123 = 16^2 + 216^1 + 316^0 == 256 + 32 + 3 = 291 - 程序中的表示方式:十六进制数前加 0x或者0X
0x9afdab
0x8AabF1
- 注意:十进制数能做的事情其他的进制数都可以做
print(291 + 1)
print(0x123 + 1)
05 不同进制之间的相互转换
1. 其他进制转十进制
手动转换: 每一位上的数乘以位权再求和
"""
0b1011 -> 2^0 + 2^1 + 2^3 = 1 + 2 + 8 = 11
0o12 -> 2*8^0 + 1*8^1 = 10
0xaf -> 15*16^0 + 10*16^1 = 175
"""
使用代码:直接用print函数打印
print(0b1011) # 11
print(0o12) # 10
print(0xaf) # 175
2. 十进制转其他进制
手动转换:辗转取余法
"""
100 -> 0b1100100
100 -> 0o144
100 -> 0x64
"""
print(0b1100100, 0o144, 0x64) # 100
3.八进制、十六进制与二进制之间的相互转换:
"""
八进制转二进制: 将1位8进制数转换成3位的二进制
十六进制转二进制: 将1位16进制数转换成4位的二进制
0o67 -> 0b110 111
0o624 -> 0b110 010 100
0xaf -> 0b1010 1111
0xf21 -> 0b1111 0010 0001
0xa8e4 -> 0b1010 1000 1110 0100
二进制转八进制:将3位的2进制数转换成1位的8进制
二进制转十六进制:将4位的2进制数转换成1位的16进制
0b011 010 111 011 -> 0o3273
0b0110 1011 1011 -> 0x6bb
"""
4. 代码转换
- bin(数字) -> 将其他数字转换成二进制
- oct(数字) -> 将其他数字转换成八进制
- hex(数字) -> 将其他数字转换成16进制
print(bin(0o67))
print(hex(100))
06 原码反码和补码
计算机存储数据的时候存的是数字的补码
内存大小:
"""
位(bit)
字节(byte): 1字节 == 8位
1kb = 1024字节
1Mb = 1024kb
1G = 1024Mb
1T = 1024G
程序员编程能操作的内存的最小单位是字节:malloc(字节)
"""
正数的原码、反码和补码一样
1. 原码
原码 = 符号位+真值
符号位:最高位表示符号位(0表示正,1表示负)
真值:数字的绝对值的二进制
10的原码:00001010
-256的原码:10000001 00000000
56的原码:00111000
print(0b10101011)
2.负数的反码 - 原码符号位不变其余位取反
-10的反码:11110101
-3的反码:10000011(原) -> 11111100(反)
-2的反码:10000010(原) -> 11111101(反)
3.负数的补码 - 反码加1
计算机在存储和操作数据的时候使用的是原码,查看结果的时候用原码
-2的补码:11111110
-3的补码:11111101
"""
计算机在对负数进行加法运算的时候结果不对,需要通过补码进行运算(计算机没有减法器只有加法器)
3 - 2 = 1
00000011(原) + 10000010(原) = 10000101(原码) -> -5(错)
00000011(补) + 11111110(补) = 000000001(补) -> 000000001(原) -> 1(对)
"""