第一章 1.1 计算机和Python基础

一、计算机基础

1.1、进制

  • 计算机中的数字有四种存在形式,分别是:十进制、二进制、八进制和十六进制
1.1.1、十进制

1.基数:0-9
2.进位:逢10进1
3.位权:例:123 = 3*10^0 + 2*10^1 +1*10^2,其中10^x就是这个十进制数的权位
4.在Python中的表示方式:十进制数在Python中可直接书写
5.将其他进制的数字转换为十进制的方法:直接用输出函数:print()
例:用print输出可将其他进制转换为十进制

1.1.2、二进制

1.基数:0-1
2.进位:逢2进1
3.位权:例:1001011 = 1*2^0 + 1*2^1 + 0*2^2 + 1*2^3 + 0*2^4 + 0*2^5 + 1*2^6,其中2^x就是该数的权位
4.在Python中的表示方式:在二进制前加 0b / 0B ;例:0b1001/0B1001
5.将其他进制的数字转换为二进制的方法:bin(其他进制的数值)
例:
用bin可将其他进制的数值转换为二进制

1.1.3、八进制

1.基数:0-7
2.进位:逢8进1
3.位权:例:167 = 7*8^0 + 6*8^1 + 1*8^2 ,其中8^x就是该数的权位
4.在Python中的表示方式:在八进制前加 0o / 0O ;例:0o123/0O123
5.将其他进制的数字转换为八进制的方法:oct(其他进制的数值)
例:
用oct可将其他进制的数值转换为八进制

1.1.4、十六进制

1.基数:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)
2.进位:逢16进1
3.位权:例:ef3d = d*16^0 + 3*16^1 + f*16^2 + e*16^3,其中16^x就是该数的权位
4.在Python中的表示方式:在十六进制前加 0x / 0X ;例:0xef3d / 0Xef3d
5.将其他进制的数字转换为十六进制的方法:hex(其他进制的数值)

用hex可将其他进制的数值转换为十六进制

1.1.5、进制之间的手动转换
1、十进制和其他进制

①:十进制转其他进制
辗转取余法:不断除2/8/16取余,然后从下往上将余数写出来。
②:其他进制转换成十进制
基数与权位的乘积求和。

2、二进制和其他进制

①:二转八:将二进制数从低位到高位每三位分开,将每三位转换成十进制,最后得到的既是一个八进制数;
例:0b1 011 011 -> 0o133
②:二转十六:将二进制数从低位到高位每四位分开,将每四位转换成十进制,如果数值大于10,则用a-f代替相应数值,最后得到的既是一个十六进制数;
例:0b101 1011 -> 0x5b

3、八转二、十六转二

①:八转二:将每一位八进制的数转换为三位的二进制数,最后得到相应的二进制数;
②:十六转二:将每一位十六进制的数转换为四位的二进制数,最后得到相应的二进制数。


1.2、计算机存储

1.2.1、存储单位
  • 在计算机内最小的存储单位是 : bit(位)
  • 在计算机内使用内存的最小单位是:bytes(字节)
  • 其中:1bytes = 8bit
  • 其他单位换算:
    1KB = 1024 bytes
    1MB = 1024KB
    1GB = 1024MB
    1TB = 1024GB
    1PB = 1024TB
1.2.2、计算机存储原理
  • 在计算机中,数据有原码,反码,补码三种形态。而数据的存储都是以补码的方式进行存储的,原因是计算机只有加法器,负数在进行运算时不能得出正确的结果,所以只能通过存储补码的方式解决这个问题。
1.2.2.1、原码
  • 原码 = 符号位 + 数字对应的二进制
  • 符号位(只有一位):0代表正数,1代表负数
    例:
    12的二进制:1100 -> 00001100(原),其中最高位的0是符号位,代表正数。
    -12的原码是:10001100,其中最高位的1是符号位,代表负数。
    注:由于计算机中使用内存时调用的最小存储单位是一个字节,8位,所以原码、反码和补码的位数都是8的倍数。
1.2.2.2、反码
  • 原码的符号位不变,其余位全部取反,其结果就是原码的反码
    例:-12 -> 10001100(原码) -> 11110011(反码)
1.2.2.3、补码
  • 补码 = 反码 + 1
    例:-12 -> 10001100(原码) -> 11110011(反码) -> 11110100(补码)

注:正数的原码、反码和补码相同




二、Python基础

2.1、Python编程中常用的快捷键

序号 快捷键 功能
1 Ctrl+/ 添加注释或取消注释
2 Ctrl+S 保存
3 Ctrl+C 复制
4 Ctrl+V 粘贴
5 Ctrl+Z 撤销
6 Ctrl+X 剪切
7 Ctrl+F 查找
8 Ctrl+Shift+Z 反撤销
9 Ctrl+R 替换
10 Ctrl+D 复制整行到下一行
11 Ctrl+A 全选
其他快捷操作:
①:选区多行代码:先用鼠标点击选区开头,找到选区结尾,按住Shift键再点击选区结尾;
②:同时操作多行代码:按住Alt键,用鼠标点击多行代码需要操作的位置即可。

2.2、Python基础语法

(一)、注释

  • 注释是在编程中不参与编译执行的文字,用来对代码进行解释说明
    1.单行整行注释:在该行代码的开头加 # 即可
    2.单行部分注释:在需要注释部分的代码前加 # 即可
    3.多行注释:在多行注释前后加三个单引号或者三个双引号即可
    注:单引号或双引号都是输入法为英文状态时的符号

(二)、语句

  • 一条语句占一行,一条语句结束后可以不加分号,如果多条语句在同一行,则语句之间必须加分号
    例:
print('helllo world')
print('你好')
print('helllo world');print('你好')

(三)、缩进

  • 一条语句开头不能随便缩进或空格,需要缩进的地方则必须缩进
    小提示:IndentationError >>> 缩进错误

(四)、标识符

  • 标识符是专门用来给函数、类和变量命名的
  • 标识符的基本要求:
    1、标识符由数字、字母和下划线组成
    2、数字不能开头

(五)、关键字

  • 有特殊功能或者特殊意义的标识符就是关键字,又叫保留字
  • 常见关键字:['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 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']

(六)、常用数据
1.数字数据:用来表示大小,在程序中直接写
例:

print(100)
print(2+5j)

2.文本数据:文本信息对应的数据,在程序中需要用双引号或者单引号引起来
电话号,身份证号,门牌号等是文本信息
例:

print('木_Python')
print('13888888888')

3.布尔数据:用True表示真/肯定,用False表示假/否定,程序中只有True和False两种
所有类型的数据都能转换成布尔值,所有为数字如果为0,所有序列如果为空则都会转换成False,其他都为True

print(True)
print(False)
print(bool(0), bool(0.0), bool(''), bool([]), bool(()), bool(None))
list1 = [1,2]
if list1:
    print('===')
elif not list1:
    print('+++')

(七)、常见数据类型
1.数字类型:整型(int)、浮点型(float)、复数
2.文本类型:字符串(str)
3.布尔类型(bool):True和False
4.其他:列表(list)、字典(dict)、元组(tuple)、集合(set)、迭代器(iter)、生成器、函数(function)
 type(数据) - 获取数据类型

print(type(100))

(八)、输入和输出
1.输出:print
print(数据) - 在控制台直接打印数据

print(10)
print('aed')

print(表达式) - 打印表达式的结果

print(10+10)

print(表达式1,表达式2,表达式3,...) - 在一行打印多个表达式的结果

print('你好',123,'1+2')

1.定制换行:

print('hello world',end= '你好,世界')
print('啥')

2.定制分隔:

print(1,2,3,4,sep='+')

2.输入:input
input(提示输入信息)

age = input('请输入年龄:')
print('输入的年纪是:',age,type(age))
posted @ 2019-11-19 15:15  anjhon_木  阅读(249)  评论(0编辑  收藏  举报