1.计算机文件大小单位

b = bit 位(比特) 位代表 0 1

B = Byte字节

1Byte = 8 bit //一个字节等于8位

1KB = 1024B

1MB = 1024KB

1GB = 1024MB

2.进制转换

进制

  1. 二进制:有两个数字组成,0(低电平)、1(高电平) 例:0b(二进制标志)101001

    • 二进制转10进制 x*2所在幂位
  2. 八进制:0、1、2、3、4、5、6、7 例:0o(八进制标志)15746
    • 八进制转十进制 x*8所在幂位
  3. 十进制:0 1 2 3 4 5 6 7 8 9 例: 2121
    • 十进制转二进制 x/2取余数 从底部排序
    • 十进制转八进制 x/8取余数 从底部排序
    • 十进制转十六进制 x/16取余数 从底部排序
  4. 十六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f 例:0x(十六进制标志)ff
    • 十六进制转10进制 x*16所在幂位

原码_反码_补码

  1. 原码或补码都是二进制数据

    • 原码:二进制的表现形式
    • 反码:二进制0变1,1变0,【原码】【补码】之间的转换形式(首位符号不去反)
    • 补码:二进制的存储形式
    • 数据用补码形式存储
    • 数据用原码形式显示
    • 原码和补码 可以通过 反码 互相转换,互为取反+1
  2. 提出补码的原因
    • 补码的提出表达一个数的正负
    • 计算机默认只能做加法,实现减法用符号:5+(-30)=5-3
    • 乘法除法,是通过左移右移 << >>来实现
  3. 原码 形式正负府关系:
    • 原码特点:第一位都是1
    • 0000 000 1 表达数字+1
    • 1000 000 1 表达数字-1
  4. 补码 形式的正负关系:
    • 原码特点:高位数都是1
    • 0000 000 1 表达数字+1
    • 1111 111 1 表达数字-1
  5. 运算顺序

补码 -> 原码

禁止转换时需要先把内存存储的补码拿出来变成原码进行转换输出

转换规律:

正数: 原码=反码=补码
负数: 原码与反码,互为取反+1
原码 = 补码取反码+1 给补码求原码
补码 = 原码取反码+1 给原码求补码

例:5-3=5+(-3)

5

原码:101

反码:101

补码:101

-3

原码:1000...011

反码:1111...100

补码:1111...101

3.数据类型

3.1数据类型分类

  1. Number 数据类型(int float bool complex)
  2. str 字符串类型
  3. list 列表类型(有序,读取,修改)
  4. tuple 元组类型(有序,获取)
  5. set 集合(无序,自动去重)
  6. dict 字典(无序,获取,修改)3.6版本后 键值对存取的数据表面上有序,实际上无序

3.1自动类型转换

当两个不同类型的数据运算是,默认项更高经度转换

数据类型转换的经度从低到高:bool int float complex

3.2强制类型转换

Number部分

  • int: 整型 浮点型 布尔 纯数字字符串
  • float: 整型 浮点型 布尔 纯数字字符串
  • complex: 整型 浮点型 布尔 纯数字字符串(复数)
  • bool: 容器类型 /number 都可以 (0 0.0 0j false "" [] () set() {} None )

容器类型部分

  • str: 容器类型 /number 都可以
  • list: 字符串 列表 元组 集合 字典
  • tuple: 字符串 列表 元组 集合 字典
  • set: 字符串 列表 元组 集合 字典(相同的值智慧保留一位)
  • dict: 使用二级列表,二级元组,二级集合(里边的容器数据只能是元组)(等长的二级容器并且元素数是二个)

3.3 字段和集合的注意点

####哈希算法
#定义

4 运算符

4.1 算数运算符

%取余 //地板除 **幂运算

+ - * / 

//: 返回整数
numvar = 5//2 => 2
如果除数或被除数存在小数,那吗结果上加.0
numvar = 5//2.0 =>2.0
%: 如果除数和被除数符号相同,取余结果加上符号
如果除数和被除数符号不相同,取余结果与被除数符号相同加上除数
numvar = 81 % 11 => 4
numvar = -81 % 11 => -4 + 11 =7
numvar = 81 % -11 => 4 - 11 = -7
numvar = -81 % -11 => -4
**: 幂运算

4.2 比较运算符

==比较两个值是否相等 !=比较两个值是否不同

> < >= <= == !=

4.3 赋值运算符

= += -= *= /= //= %= **=
a +=1 => a = a + 1

4.3 身份运算符

is 和 is not(监测连个数据在内存中是否为同一个值)
判断内存地址是够相同
str tuple list set dict 整数 -5 至正无穷 内存地址相同
浮点型 非负数
complex 实数+虚数永不相同(只有虚数除外)

4.4 逻辑运算符

and 逻辑与,全真则真 一假则假
or 逻辑或,全假则假 一真则真
not 逻辑非,真变假 假变真 逻辑短路: 如果出现短路效果后面的代码就不执行了
print() 返回值默认是 None
优先级:() > not > and > or

4.5 成员运算符

in not in(针对容器型数据)
判断某个值是否包含在一个容器类型数据中

4.6 位运算符

优先级:(<< 或 >>) > & > ^ > |

  1. & 按位于:(二进制数据按照逻辑于的定义进行比较)
var1 = 19
var2 = 15
print(var1 & var2)
19的二进制
000 ... 10011
15的二进制
000 ... 01111
1 => true
0 => false 000 ... 10011 = 19
000 ... 01111 = 15
000 ... 00011 = 3
  1. | 按位或:(二进制数据按照逻辑或的定义进行比较)
var1 = 19
var2 = 15
print(var1 | var2)
19的二进制
000 ... 10011
15的二进制
000 ... 01111
1 => true
0 => false 000 ... 10011 = 19
000 ... 01111 = 15
000 ... 11111 = 31
  1. ~ 按位非 针对于补码进行操作,按位取反,包括符号位

公式:-(n+1)

var = ~19 = -20
var = ~(-21) = 20
print(var) 求19的按位非
原码:000...10011
反码:000...10011
补码:000...10011 补码: 000...10011
按位非:111...01100 求出来的是补码
给补码求原码:
补码:111...01100
反码:100...10011
原码:100...10100 = -20 求-21的按位非
原码:100...10101
反码:111...01010
补码: 111...01011 补码: 111...01011
按位非:000...10100 补码:000...10100
反码: 000...10100
原码:000...10100 = 20
  1. ^ 按位异或:两者不一样返回真,一样返回假
var1 = 19
var2 = 15
print(var1 | var2)
19的二进制
000 ... 10011
15的二进制
000 ... 01111
1 => true
0 => false 000 ... 10011 = 19
000 ... 01111 = 15
000 ... 11100 = 28
  1. << 左移 用来做乘法操作 x << n = x * 2**n
res = 5 << 2 = 20
000...101 = 5
往左移动两位
000...10100 = 20
  1. 右移 用来做除法操作 x >> n = x / 2**n

res = 8 << 2 = 2
000...1000 = 8
往右移动两位
000...0010 = 2

4.7 总结(优先级)

1 个别运算符
优先级最高的** 幂运算
优先级最低的= 赋值运算
()括号可以提升运算的优先级
2 整体 一元运算符 > 二元运算符
一元运算符:同一时间 只操作一个值 - ~
二元运算符:同一时间 操作两个值 + - * / ...
3 同一层级
逻辑:() > not > and > or
算数: 乘除 > 加减
位运算:(<< >>) > & > ^ >|
4 其他情况
算数 > 位 > 比较 > 身份 > 成员 > 逻辑 > 赋值

一、python学习-基础语法的更多相关文章

  1. python学习-基础语法

    字符编码 1.python 2.x 默认是ASCII 编码 不支持中文,所以在代码有中文的时候 需要在文件最上一行加上#coding=utf-8.python 3.x则没有该问题. 变量命名规则 1. ...

  2. 第4天 | 12天搞定Python,基础语法(下)

    为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...

  3. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  4. Python的基础语法(一)

    0. 前言 最近正在重新整理Python的基础知识,以便更好地学习新知识.这一部分主要是讲述Python基础语法的演示.下面的语法都是基于Python3的语法. 1. 注释 注释:Python的注释方 ...

  5. 12天搞定Python,基础语法(上)

    不知你是否见过建楼房的过程,没有的话,找个时间去瞧一瞧,看一看.看过之后,你就会明白.建楼房,只有打好地基之后,才能在砌墙,建的楼层越高,打的地基就越深. 学编程也一样,要想得心应手的应用,得先打好地 ...

  6. Python的基础语法(二)

    0. 前言 接着上一篇博客的内容,我将继续介绍Python相关的语法.部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂. 1. 表达式 由数字.符号.括号.变量等组成的组合. 算术表达式 ...

  7. Python 及其基础语法

    重新开始玩 Python,打算就是学完实验楼的"Python3 简明教程",然后就可以玩点小项目,先前学了点 Python2 就不管它啦. 以上. 认识 Python Python ...

  8. Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别

    Python语言基础 1.Python语法特点 注释: 单行注释:# #注释单行注释分为两种情况,例:第一种#用于计算bim数值bim=weight/(height*height)第二种:bim=we ...

  9. Python ( 学习基础篇 第二部 )

    目录 运算符 算数运算符 比较运算符 赋值运算符 位运算符 逻辑运算符 成员运算符 身份运算符 Python 中运算符的优先级 运算符总结基础语法 判断类型 isinstence 代码块 流程控制 w ...

随机推荐

  1. 为什么要抢挖Baccarat流动性挖矿的头矿?头矿的价值是什么?

    今年下半年,DeFi流动性挖矿非常受投资者的欢迎,究其原因,其超高的挖矿回报率着实足够吸引无数投资者的眼球.而即将上线的Baccarat流动性挖矿,也未上线先火了一把.Baccarat是由NGK公链推 ...

  2. 1107 Social Clusters——PAT甲级真题

    1107 Social Clusters When register on a social network, you are always asked to specify your hobbies ...

  3. Linux文件常用指令

    目录 Linux文件常用指令 1.pwd 显示当前目录 2.cd 切换目录 3.mkdir 创建目录 4.touch 修改或创建文件 5.ls 显示目录下的内容 6.cat 查看文件信息 7.echo ...

  4. Go的map

    目录 map 一.map的创建 1.map的类型 2.定义并初始化 二.给map添加元素 三.获取map的元素 四.删除map的元素 五.获取map的长度 六.map的类型 七.map的相等性 八.循 ...

  5. 高级FTP

      一.作业需求 1. 用户加密认证(已完成) 2. 多用户同时登陆(已完成) 3. 每个用户有自己的家目录且只能访问自己的家目录(已完成) 4. 对用户进行磁盘配额.不同用户配额可不同(已完成) 5 ...

  6. es6 快速入门 系列

    es6 快速入门(未完结,持续更新中...) 前言 为什么要学习es6 es6对于所有javaScript开发者来说,非常重要 未来,es6将构成javaScript应用程序的基础 es6中很多特性, ...

  7. 10万级etl调度软件Taskctl-web版免费授权及产品功能特性

    转: 10万级etl调度软件Taskctl-web版免费授权及产品功能特性 初识Taskctl-Web版 Taskctl Free应用版原型是在原有商用版Taskctl 6.0衍生扩展开发出的专门为批 ...

  8. PAT-1144(The Missing Number)set的使用,简单题

    The Missing Number PAT-1144 #include<iostream> #include<cstring> #include<string> ...

  9. LeetCode-重建二叉树(前序遍历+中序遍历)

    重建二叉树 LeetCode-105 首次需要知道前序遍历和中序遍历的性质. 解题思路如下:首先使用前序比遍历找到根节点,然后使用中序遍历找到左右子树的范围,再分别对左右子树实施递归重建. 本题的难点 ...

  10. 越来越受欢迎的Vue想学么,90后小姐姐今儿来教你

    摘要:Vue的相关技术原理成为了前端岗位面试中的必考知识点,掌握 Vue 对于前端工程师来说更像是一门"必修课". 本文原作者为尹婷,擅长前端组件库研发和微信机器人. 我们发现, ...