一、python学习-基础语法
1.计算机文件大小单位
b = bit 位(比特) 位代表 0 1
B = Byte字节
1Byte = 8 bit //一个字节等于8位
1KB = 1024B
1MB = 1024KB
1GB = 1024MB
2.进制转换
进制
- 二进制:有两个数字组成,0(低电平)、1(高电平) 例:0b(二进制标志)101001
- 二进制转10进制 x*2所在幂位
- 八进制:0、1、2、3、4、5、6、7 例:0o(八进制标志)15746
- 八进制转十进制 x*8所在幂位
- 十进制:0 1 2 3 4 5 6 7 8 9 例: 2121
- 十进制转二进制 x/2取余数 从底部排序
- 十进制转八进制 x/8取余数 从底部排序
- 十进制转十六进制 x/16取余数 从底部排序
- 十六进制: 0 1 2 3 4 5 6 7 8 9 a b c d e f 例:0x(十六进制标志)ff
- 十六进制转10进制 x*16所在幂位
原码_反码_补码
- 原码或补码都是二进制数据
- 原码:二进制的表现形式
- 反码:二进制0变1,1变0,【原码】【补码】之间的转换形式(首位符号不去反)
- 补码:二进制的存储形式
- 数据用补码形式存储
- 数据用原码形式显示
- 原码和补码 可以通过 反码 互相转换,互为取反+1
- 提出补码的原因
- 补码的提出表达一个数的正负
- 计算机默认只能做加法,实现减法用符号:5+(-30)=5-3
- 乘法除法,是通过左移右移 << >>来实现
- 原码 形式正负府关系:
- 原码特点:第一位都是1
- 0000 000 1 表达数字+1
- 1000 000 1 表达数字-1
- 补码 形式的正负关系:
- 原码特点:高位数都是1
- 0000 000 1 表达数字+1
- 1111 111 1 表达数字-1
- 运算顺序
补码 -> 原码
禁止转换时需要先把内存存储的补码拿出来变成原码进行转换输出
转换规律:
正数: 原码=反码=补码
负数: 原码与反码,互为取反+1
原码 = 补码取反码+1 给补码求原码
补码 = 原码取反码+1 给原码求补码
例:5-3=5+(-3)
5
原码:101
反码:101
补码:101
-3
原码:1000...011
反码:1111...100
补码:1111...101
3.数据类型
3.1数据类型分类
- Number 数据类型(int float bool complex)
- str 字符串类型
- list 列表类型(有序,读取,修改)
- tuple 元组类型(有序,获取)
- set 集合(无序,自动去重)
- 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 位运算符
优先级:(<< 或 >>) > & > ^ > |
- & 按位于:(二进制数据按照逻辑于的定义进行比较)
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
- | 按位或:(二进制数据按照逻辑或的定义进行比较)
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
- ~ 按位非 针对于补码进行操作,按位取反,包括符号位
公式:-(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
- ^ 按位异或:两者不一样返回真,一样返回假
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
- << 左移 用来做乘法操作 x << n = x * 2**n
res = 5 << 2 = 20
000...101 = 5
往左移动两位
000...10100 = 20
右移 用来做除法操作 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学习-基础语法的更多相关文章
- python学习-基础语法
字符编码 1.python 2.x 默认是ASCII 编码 不支持中文,所以在代码有中文的时候 需要在文件最上一行加上#coding=utf-8.python 3.x则没有该问题. 变量命名规则 1. ...
- 第4天 | 12天搞定Python,基础语法(下)
为了方便你的学习,减轻负重,我特意将基础语法分成上下两部分.希望你喜欢这种方式,如果不喜欢,你可以跟我说,反正我是不会改的,哈哈~~. 如果上部分,你还没看的话,先去看<第4天 | 12天搞定P ...
- Python学习基础笔记(全)
换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...
- Python的基础语法(一)
0. 前言 最近正在重新整理Python的基础知识,以便更好地学习新知识.这一部分主要是讲述Python基础语法的演示.下面的语法都是基于Python3的语法. 1. 注释 注释:Python的注释方 ...
- 12天搞定Python,基础语法(上)
不知你是否见过建楼房的过程,没有的话,找个时间去瞧一瞧,看一看.看过之后,你就会明白.建楼房,只有打好地基之后,才能在砌墙,建的楼层越高,打的地基就越深. 学编程也一样,要想得心应手的应用,得先打好地 ...
- Python的基础语法(二)
0. 前言 接着上一篇博客的内容,我将继续介绍Python相关的语法.部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂. 1. 表达式 由数字.符号.括号.变量等组成的组合. 算术表达式 ...
- Python 及其基础语法
重新开始玩 Python,打算就是学完实验楼的"Python3 简明教程",然后就可以玩点小项目,先前学了点 Python2 就不管它啦. 以上. 认识 Python Python ...
- Python语言基础-语法特点、保留字与标识符、变量、基本数据类型、运算符、基本输入输出、Python2.X与Python3.X区别
Python语言基础 1.Python语法特点 注释: 单行注释:# #注释单行注释分为两种情况,例:第一种#用于计算bim数值bim=weight/(height*height)第二种:bim=we ...
- Python ( 学习基础篇 第二部 )
目录 运算符 算数运算符 比较运算符 赋值运算符 位运算符 逻辑运算符 成员运算符 身份运算符 Python 中运算符的优先级 运算符总结基础语法 判断类型 isinstence 代码块 流程控制 w ...
随机推荐
- 为什么ElasticSearch比MySQL更适合全文索引
熟悉 MySQL 的同学一定都知道,MySQL 对于复杂条件查询的支持并不好.MySQL 最多使用一个条件涉及的索引来过滤,然后剩余的条件只能在遍历行过程中进行内存过滤,对这个过程不了解的同学可以先行 ...
- AdoptOpenJDK是什么?
要搞清楚AdoptOpenJDK是什么,前提条件是我们需要知道JDK是什么,OpenJDK是什么.明白了JDK和OpenJDK的关系,会容易明白什么是AdoptOpenJDK. JDK是什么? 首先, ...
- 【SpringMVC】 4.3 拦截器
SpringMVC学习记录 注意:以下内容是学习 北京动力节点 的SpringMVC视频后所记录的笔记.源码以及个人的理解等,记录下来仅供学习 第4章 SpringMVC 核心技术 4.3 拦截器 ...
- Java基础语法:标识符
Java所有的组成部分都需要名字. 类名.变量名 以及方法名 都被称为标识符. 一.规则 Ⅰ.首字符 规则:所有的标识符都应该以字母(A-Z 或者 a-z).美元符($).下划线(_)开始. 示例:t ...
- 记录vue springboot 跨域采坑
vue配置 域名src\main.js要与config\index.js一样 var axios = require('axios')axios.defaults.baseURL = 'http:// ...
- ngx_http_image_filter_module使用
目录 安装 基本使用 示例 参数说明 参考链接:nginx官方文档 安装 ngx_http_image_filter_module一个官方模块,用于转换JPEG.GIF.PNG和WebP格式的图像. ...
- 力扣208. 实现 Trie (前缀树)
原题 以下是我的代码,就是简单的字符串操作,可以ac但背离了题意,我之前没接触过Trie 1 class Trie: 2 3 def __init__(self): 4 ""&qu ...
- Elastic App Search 快速构建 ES 应用
公号:码农充电站pro 主页:https://codeshellme.github.io App Search 是 Elastic 家族中的一个产品,它可以帮助我们(基于 ES)快速高效的构建搜索应用 ...
- 苹果M1处理器Mac“翻车”:用户吐槽SSD
SSD如今被不少PC用户所推崇,其优势在于读写速度快.工作无噪音,不过,缺点是寿命较机械硬盘差点.厂商对SSD通常都会标注一个最大可写入量(TBW),提醒用户关注健康数据,以免掉盘等严重问题. 越来越 ...
- WPF 基础 - Binding 的源与路径
1. 源与路径 把控件作为 binding 源与 binding 标记拓展: 控制 Binding 的方向及数据更新: Binding 的路径 Path: 没有路径的 Binding: 为 Bindi ...