【0基础入门Python笔记】一、python 之基础语法、基础数据类型、复合数据类型及基本操作
一、python 之基础语法、基础数据类型、复合数据类型及基本操作
- 基础语法规则
- 基础数据类型
- 数字类型(Numbers)
- 字符串类型(String)
- 布尔类型(Boolean)
- 复合数据类型
- List(列表)
- Tuple(元组)
- Dictionary(字典)
- 补充知识
- 索引概念
- 切片
基础语法规则
- 缩进规则
Python 以缩进来区分代码块,不同的缩进来区分代码块/代码层级。同一代码块必须有相同的缩进,同时缩进不推荐空格和 Tab 字符混用。
# 行前面加入#为行注释
a = 1
b = 2
以上代码为同一个层级代码,具有相同的缩进,我愿称之为一级代码块
由一级代码块进入二级,必须以冒号(:)开始且需要时定义方法、对象或判断、循环条件等
# 一级代码块
a = 1
b = 2
#判断条件,:号收尾
if a == 1 :#二级代码块print(b)
- 执行规则
基础部分,认识python从上到下依次执行就可以了
上面代码执行顺序:
基础数据类型
python的变量定义不需要声名数据类型,但是变量内部存在类型区分。其中基础数据类型分为
- 数字类型(Numbers)
- 字符串类型(String)
- 尔类型(Boolean)
数字类型(Numbers)
数字类型:整数(int)、长整型(long) 、浮点数(float)、复数(complex)
入门级知道:整数(int)、浮点数(float)即可,不需要记那么多,用到了再说喽
# 整数
a = 1# 浮点数理解成小数即可
b = 1.1
字符串类型(String)
字符串类型用来表示文本信息,在Python中使用一对单引号 ’ ’ 或双引号 " " 来创建字符串。
# 单引号
a= 'shiyuncode.com'# 双引号
b= "Hello, world!"# 获取第一个字符 "H"
b1 = b[0] # 字符串切片,获取索引2到3的子字符串 "ll"
b23 = b[2:4]
布尔类型(Boolean)
布尔类型,布尔类型意思真/假,python对应的真就是 True 表示,假就是False表示。布尔类型通常用于条件判断和逻辑运算。
# 布尔类型
a = Trueb = False
复合数据类型
Python的符合数据类型,我愿理解为一个变量可以存储多个基础数据,其中包括
- 列表(List)
- 元组(Tuple)
- 字典(Dictionary)
List(列表)
列表是一种有序的集合,可以存储多个元素,每个元素可以是不同的数据类型。列表用方括号 [ ] 表示,元素之间用逗号分隔。
# 定义一个水果列表
fruits = ['apple', 'banana', 'orange', 'grape']# 访问列表元素
first_fruit = fruits[0] # 获取第一个元素 "apple"# 列表的切片
some_fruits = fruits[1:3] # 获取索引1到2的子列表 ['banana', 'orange']# 列表的修改和添加
fruits[2] = 'kiwi' # 修改列表中的元素
fruits.append('pear') # 添加元素到列表末尾
Tuple(元组)
元组和列表类似,也是一种有序的集合,但与列表不同的是,元组的元素一旦创建就不能被修改,相当于不可变的列表。元组用圆括号 ( ) 表示。
# 元组的创建
tp = (1, 2)# 访问元组元素
x = tp[0] # 获取第一个元素 1
Dictionary(字典)
字典是一种无序的键-值对集合,用花括号 { } 表示。每个键对应一个值,键和值之间用冒号分隔。这里数据结构和Json的格式一致诶。
# 字典的创建
person = {'name': 'shiyuncode.com','age': 30
}# 访问字典元素
person_name = person['name'] # 获取键'name'对应的值 "shiyuncode.com"# 字典的修改
person['age'] = 31 # 修改键'age'对应的值# 字典的添加
person['gender'] = 'female' # 添加新的键值对
补充知识
索引概念
索引的起点是0,也就是第1个,对应的索引是0,第2个对应的索引是1,以此类推。
- 字符串索引图示
- 列表索引图示
其它带有索引的类型类似
切片
切片从序列(如列表、元组、字符串等)中获取子序列的操作。通过指定起始索引和结束索引来获取序列的一部分,返回一个新的序列。切片在Python中非常常用,可以用于提取、复制和操作序列中的一段数据。
my_str = '012345'
my_list = [0, 1, 2, 3, 4, 5]# 获取索引1到3的子数据'123'/[1, 2, 3]
sub_str = my_str[1:4]
sub_list = my_list[1:4]# 获取索引0到2的子数据'01'/[0, 1]
sub_str2 = my_str[:3]
sub_list2 = my_list[:3]# 获取索引3到末尾的子数据'345'/[3, 4, 5]
sub_str3 = my_str[3:]
sub_list3 = my_list[3:]# 获取完整的副本'0123456'/[0, 1, 2, 3, 4, 5]
full_copy_str = my_str[:]
full_copy_list = my_list[:]
这里我们可以看到,如果 : 前面不写则表示从头开始,如果后面不写则表示一直到最后。
相关文章:

【0基础入门Python笔记】一、python 之基础语法、基础数据类型、复合数据类型及基本操作
一、python 之基础语法、基础数据类型、复合数据类型及基本操作 基础语法规则基础数据类型数字类型(Numbers)字符串类型(String)布尔类型(Boolean) 复合数据类型List(列表)Tuple&…...
2023-08-18力扣每日一题
链接: 1388. 3n 块披萨 题意: 一个长度3n的环,选n次数字,每次选完以后相邻的数字会消失,求选取结果最大值 解: 这波是~~(ctrl)CV工程师了~~ 核心思想是选取n个不相邻的元素一定…...
mac M1安装opencv方法及类型报错解决
安装opencv: pip install opencv-python pip install --user opencv-contrib-python pip install opencv-python 4.5.2.54 numpy 1.25.2 安装过程中报错如下: python-类型错误:“numpy._DTypeMeta”对象不可下标 TypeError: ‘numpy._DTypeMeta’ obje…...
Screen终端管理工具
文章目录 Screen终端管理工具背景nohup介绍screen介绍安装screen查看终端新建终端退出终端进入终端删除会话帮助命令 总结 Screen终端管理工具 背景 对大佬只有膜拜,可能永远无法超越,在工作交接中大佬用到了一个screen启动了程序,这是什么…...
【python自动化办公】PysimpleGUI官网案例全部项目代码文件及运行截图
PysimpleGUI官网案例全部项目代码文件及运行截图 0 项目文件整体预览窗口1 pysimpleGUI下面所有元素2 pysimpleGUI下面所有元素示例3 加载多GIF图片4 使用PIL进行动态图片加载5 自动保存关闭时窗口位置信息6 绘制柱状图7 图像编码18 图像编码29 无边界窗口10 设置图片按钮11 按…...

9.处理this和防抖、节流
9.1 this指向-普通函数 普通函数的调用方式决定了this的值,即【谁调用this的值 指向谁】 普通函数没有明确调用者时this值为window,严格模式下没有调用者时this的值为undefined 9.2 this指向-箭头函数 箭头函数中的this与普通函数完全不同࿰…...
Spark操作Hive表幂等性探索
前言 旁边的实习生一边敲着键盘一边很不开心的说:做数据开发真麻烦,数据bug排查太繁琐了,我今天数据跑的有问题,等我处理完问题重新跑了代码,发现报表的数据很多重复,准备全部删了重新跑。 我:你的数据操作具备幂等性吗? 实习生:啥是幂等性?数仓中的表还要考虑幂等…...

【可变形卷积3】 DCNv2 安装
使用RTM3D 代码,CenterTrack代码需要用DCN 1、安装DCNv2 (1)github上最新版的DCNv2源码在"https://github.com/CharlesShang/DCNv2",但是该版本源码不支持PyTorch1.7,如果使其支持PyTorch1.7需要做以下修改…...

归并排序 与 计数排序
目录 1.归并排序 1.1 递归实现归并排序: 1.2 非递归实现归并排序 1.3 归并排序的特性总结: 1.4 外部排序 2.计数排序 2.1 操作步骤: 2.2 计数排序的特性总结: 3. 7种常见比较排序比较 1.归并排序 基本思想: 归并排序(MERGE-SORT)是建立在归并操作上的一种…...
机器学习之逻辑回归
import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler from sklearn.linear_model import LogisticRegression # 获得数据 names[Sample code number,Clump Thickness,Uniformity…...

操作符详解上(非常详细)
目录 二进制介绍二进制2进制转10进制10进制转2进制数字2进制转8进制和16进制2进制转8进制2进制转16进制 原码、反码、补码移位操作符左移操作符右移操作符 位操作符:&、|、^逗号表达式 二进制介绍 在初学计算机时我们常常会听到2进制、8进制、10进制、16进制……...

React 高阶组件(HOC)
React 高阶组件(HOC) 高阶组件不是 React API 的一部分,而是一种用来复用组件逻辑而衍生出来的一种技术。 什么是高阶组件 高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件。基本上,这是从 React 的组成…...

【NepCTF2023】复现
文章目录 【NepCTF2023】复现MISC与AI共舞的哈夫曼codesc语言获取环境变量 小叮弹钢琴陌生的语言你也喜欢三月七么Ez_BASIC_IImisc参考 WEBez_java_checkinPost Crad For You独步天下配置环境独步天下-镜花水月环境变量提权 独步天下-破除虚妄总结 独步天下-破除试炼_加冕成王知…...
大文件切片上传
创建组件:创建一个组件用于处理文件上传,命名为Upload.vue。 <template><div><input type"file" change"handleFileChange" /><button click"startUpload">开始上传</button></div> …...

ubuntu切换python版本
在没有安装类似anoconda的管理工具的时候,我们常常会被Ubuntu下的Python版本切换问题所头疼。 可以使用update-alternatives工具进行python版本的任意切换 当使用update-alternatives工具来切换Ubuntu系统上的Python版本时,您实际上是在系统范围内选择…...
docker 安装 elasticsearch、kibana 7.4.2
切换root 用户 su root 拉起镜像 docker pull elasticsearch:7.4.2 docker pull kibana:7.4.2 #1、创建Elasticsearch配置文件夹 mkdir -p /mydata/elasticsearch/config #2、创建Elasticsearch数据文件夹 mkdir -p /mydata/elasticsearch/data #3、创建Elasticsearch插件…...
【es6】函数参数设置默认值
1、es6之前的函数参数默认值写法 1.1、使用短路或||的写法 当y为空时,y判断为false ,走||右边的,所以y world;当y不为空时,y判断为true,不需要再运行||右边的,所以 y y function log(x, y) {y y || W…...

Pytest和Unittest测试框架的区别?
如何区分这两者,很简单unittest作为官方的测试框架,在测试方面更加基础,并且可以再次基础上进行二次开发,同时在用法上格式会更加复杂;而pytest框架作为第三方框架,方便的地方就在于使用更加灵活࿰…...
C#基础知识(一)
一、C#程序结构 《1》命名空间的声明(namespace declaration) 《2》一个class 《3》class方法 《4》class属性 《5》一个main方法 《6》语句(statements)&表达式(Expressions) 《7》注释 注:…...

我还不知道?Android组件化插件化模块化
Android组件化、插件化和模块化是针对Android应用程序开发的一种架构设计思想和开发方式。 组件化(Componentization): 组件化是将一个大型的Android应用程序拆分成多个独立的组件(Module),每个组件可以独…...

docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
pam_env.so模块配置解析
在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...
系统设计 --- MongoDB亿级数据查询优化策略
系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...

springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...