第一章 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()
例:
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(其他进制的数值)
例:
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(其他进制的数值)
例:
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(其他进制的数值)
例
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))
第一章 1.1 计算机和Python基础的更多相关文章
- Python人工智能之路 - 第一篇 : 你得会点儿Python基础
Python 号称是最接近人工智能的语言,因为它的动态便捷性和灵活的三方扩展,成就了它在人工智能领域的丰碑 走进Python,靠近人工智能 一.编程语言Python的基础 之 "浅入浅出&q ...
- 第二章(1.5)Python基础知识(数据类型)
一.list(列表) list是一种有序的集合,可以随时添加和删除其中的元素 用len()函数可以获得list元素的个数 列表操作包含以下函数: cmp(list1, list2):比较两个列表的元素 ...
- 第二章(1.3)Python基础知识(输入输出)
一.?输出 用print加上字符串,就可以向屏幕上输出指定的文字 print?'hello, world' print也可以打印整数. >>> print?300 二.?输入 Pyt ...
- MySQL----MySQL数据库入门----第一章 数据库入门
第一章 数据库入门 1.1 数据库基础知识 1.1.1 数据库概述 数据不仅包括普通意义上的数字,还包括文字.图像.声音等.也就是说,凡是在计算机中用来描述事物的记录都可称作数据. 数据库的基本特点: ...
- Python3-Cookbook总结 - 第一章:数据结构和算法
第一章:数据结构和算法 Python 提供了大量的内置数据结构,包括列表,集合以及字典.大多数情况下使用这些数据结构是很简单的. 但是,我们也会经常碰到到诸如查询,排序和过滤等等这些普遍存在的问题. ...
- Mysql必知必会 第一章 了解SQL
第一章 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库的定义:保存有组织的数据的容器 数据库软件不是数据库,而是DBMS 1.1.2 表 表(Table)的定义:某种特定类型数据的结 ...
- python基础教程(第二版)
开始学习python,根据Python基础教程,把里面相关的基础章节写成对应的.py文件 下面是github上的链接 python基础第1章基础 python基础第2章序列和元组 python基础第3 ...
- Java第一章
第一章 计算机程序:计算机为完成某些功能产生的一系列有序指令集合. Java技术包括:JavaSE(标准版) JavaEE(企业版) ---JavaME(移动版) 开发Java程序步骤:1.编写 2 ...
- python第一章计算机基础
第一章 计算机基础 1.1 硬件 计算机基本的硬件由:CPU / 内存 / 主板 / 硬盘 / 网卡 / 显卡 / 显示器 等组成,只有硬件但硬件之间无法进行交流和通信. 1.2 操作系统 操作系统用 ...
随机推荐
- python学习-caculator
# 运算符操作# 算术运算符num_a = 100num_b = 5000 # 加法print(num_a + num_b)# 减法print(num_a - num_b)# 乘法 *print(nu ...
- jquery查出元素名称
<div onclick='$(this).prop("tagName")'></div> 最后的结果 DIV
- Java基础接口和抽象类区别(二)
抽象类 在了解抽象类之前,先来了解一下抽象方法.抽象方法是一种特殊的方法:它只有声明,而没有具体的实现.抽象方法的声明格式为: 抽象方法必须用abstract关键字进行修饰.如果一个类含有抽象方法,则 ...
- LeetCode刷题总结-双指针、位运算和分治法篇
本文总结LeetCode上有关双指针.位运算和分治法的算法题,推荐刷题总数14道.具体考点分析如下图: 一.双指针 1.字符串和数组问题 题号:424. 替换后的最长重复字符,难度中等 题号:828. ...
- C/C++ 项目编译工具简介
本文基于一个需要对 C 语言家族项目进行编译.生成解决方案的开发者的视角,对编译过程中所需要的各个工具进行简要的名词解释. GCC | LLVM 提供编译器 <-- GNU Make 根据配置文 ...
- C++之new关键字
我们都知道new是用来在程序运行过程中为变量临时分配内存的C++关键字,那它跟C语言中的malloc有什么区别呢,相比之下又为什么推荐使用new呢 c++ throwing() void* opera ...
- 提升代码幸福度,五个技巧减少js开发中的if else语句
壹 ❀ 引 在JavaScript开发中,条件判断语句的使用频率是极高的,而对于条件判断简单易读的if else应该都是大家的首选.可是代码写的久了,我们总是希望自己的代码看着能更为简洁规范(逼格更 ...
- 使用PIL将图片转成字符
注意:转化成txt后,txt的字体使用“宋体”,不能使用“微软雅黑”,否则图像会变形 import numpy as npfrom PIL import Image if __name__ == '_ ...
- 【转载】Docker registry仓库历史镜像批量清理
前言 在jenkins CI/CD流水线中以自动打包并push镜像的方式运行了一段时间之后, docker registry中堆积的历史镜像数量极多,磁盘空间告急,为此,有必要定期做镜像的清理,并释放 ...
- wpf 模拟抖音很火的罗盘时钟,附源码,下载就能跑
wpf 模拟抖音很火的罗盘时钟,附源码 前端时间突然发现,抖音火了个壁纸,就是黑底蕾丝~~~ 错错错,黑底白字的罗盘时钟! 作为程序员的我,也觉得很新颖,所以想空了研究下,这不,空下来了就用wpf, ...