GEE学习笔记 七十:【GEE之Python版教程四】Python基础编程二
通过上一章的讲解,我们对于python有了初步的了解,这一章就详细讲解一下python的各个变量以及运算规则等内容。
关于测试代码推荐初学者将每一段代码都自己敲入编辑器中在本地运行。
1、数值
这是任何编程中都会有的基本变量,在python支持的数据类型主要包括:
-
整型(int):比如 10
-
浮点型(float):比如 10.12
-
复数(complex):是由x+yj表示的有序对的实数浮点数组成,其中x和y是实数,j是虚数单位,比如 10+5j
除此之外,在程序运行中我们还可以用0表示布尔值False,使用非零值表示布尔值True。
-
# 数值类型
-
# 整型
-
age = 10
-
print("age is {0}".format(age))
-
# 浮点型
-
price = 12.35
-
print("price is {0}".format(price))
-
# 复数
-
result = 1 + 2j
-
print("result is {0}".format(result))

对于数值类型,可以进行很多运算,比如最简单的四则运算
| 含义 | 符号 | 例子 |
| 加 | + | 3+7=10 |
| 减 | - | 7-3=4 |
| 乘 | * | 7*3=21 |
| 除 | / | 7/3=2.3333333333333335 |
| 取整 | // | 7//3=2 |
| 取余 | % | 7%3=1 |
| 幂 | ** | 7**3=343 |
相关代码:
-
# 四则运算
-
print(7+3)
-
print(7-3)
-
print(7*3)
-
print(7/3)
-
print(7//3)
-
print(7%3)
-
print(7**3)

(2)字符串
字符串就是一串文本,可以使用双引号("")或者单引号('')包围,如果是多行的可以使用三引号("""xxx"""或者'''xxx''')。常用的方法参考下面例子:
-
# 字符串
-
text1 = "hello"
-
text2 = "world"
-
# + 简单拼接
-
text3 = text1+" "+text2
-
print(text3)
-
# format 拼接
-
text4 = "{0} {1}".format(text1, text2)
-
print(text4)
-
text5 = "hello world"
-
# 长度
-
print(len(text5))
-
# 字符串切割转数组
-
print(text5.split(" "))
-
# 切片 [开始索引:结束索引:步长],左闭右开,比如下面就是1-3也就是 ell
-
print(text5[1:4])
-
# 索引
-
print(text5[1])
-
# 大小写
-
text6 = "Hello Wolrd"
-
print(text5.upper())
-
print(text5.lower())

上面只是展示了一部分最简单的常用方法,字符串的方法还是非常多,需要自己下去一个一个尝试。这里面最重要的莫过于切片方法,这个我会在下面列表中在详细说一下。
(3)布尔值
布尔值非常简单,就是True或者False。需要注意的是这里的True或者False第一个字母是大写,同时还需要注意的是在python中空、数值0或者空列表等都是False。
-
# 布尔值
-
flag1 = True
-
flag2 = False
-
flag3 = None
-
if flag3:
-
print("flag3 is not None")
-
else:
-
print("flag3 is None")

(4)列表
列表List是我们最为常用的例子,它是通过"[]"定义,数据之间用","隔开,然后索引是从0开始。比如:
a = ["a", "b", "c"]
这是一个字符串列表,第0位是"a",依次类推,提取列表数据可以直接使用 a[0] 取第一位的数据。操作列表最常用的是之前提到的一个切片,切片可以理解为就是对列表做提取工作。它的基本规则是:
[ 开始索引 : 结束索引 : 步长 ],左闭右开
开始索引就是列表起始索引,比如0、1等,可以是负数,复数代表从末尾开始算起,比如-1就是列表最后一个数。这个可以通过下面方法验证一下。
-
a = ["a", "b", "c"]
-
print(a[-1])
具体例子:
-
# 列表
-
a = ["a", "b", "c"]
-
print(a[-1])
-
# 列表长度
-
print(len(a))
-
# 切片
-
print(a[1:])
-
# 循环列表
-
for _a in a:
-
print(_a)
-
-
# 添加新的数据
-
a.append("d")
-
print(a)
-
# 删除指定数据
-
del a[0]
-
print(a)
-
# 删除最后一个元素并且返回删除的值
-
print(a.pop())
-
print(a)

(5)元组
元组(tuple)类似列表,但是和列表不同的它是不可变的,也就是说我们生成一个元组后只会对其进行查询等操作,不能修改其值。元组生成方式:
-
使用小括号 "()" 来写元组,比如 (1, 2, "a")
-
空的元组就是 ()
-
如果只有一个元素 ("a",),不要丢掉后面的","。
具体例子
-
# 元组
-
aTuple = ("a", "b", "c")
-
print(type(aTuple))
-
# 获取第一个元素
-
print(aTuple[0])
-
# 循环
-
for _a in aTuple:
-
print(_a)

(6)集合
集合是一个无序不重复的列表,这里需要注意就是集合中的每一个元素都是不重复的,所以我们通常使用它来去重,创建时候我们通常使用set()来创建。
具体操作例子:
-
# 集合 set
-
age = [12, 13, 12, 11, 14]
-
print(age)
-
# 生成集合去掉重复的12
-
ageSet = set(age)
-
print(ageSet)
-
ageSet2 = set([10, 11, 12, 15])
-
# 在 ageSet 却不在 ageSet2中数据
-
print(ageSet - ageSet2)
-
# 两者并集
-
print(ageSet | ageSet2)
-
# 两者交集
-
print(ageSet & ageSet2)
-
# 不同时在ageSet和ageSet2中的数据
-
print(ageSet ^ ageSet2)

(7)字典
字典这个非常简单,就是 { key : value } 这种格式。具体的直接看相关代码:
-
# 字典
-
people = {
-
"age": 10,
-
"name": "Elly",
-
"desc": "a boy ???",
-
"code": [1, 2, 30.5, 22.1]
-
}
-
# 获取所有键值
-
print(people.keys())
-
# 获取所有的值
-
print(people.values())
-
# 获取指定的值
-
print(people.get("age"))
-
# 循环
-
for key, value in people.items():
-
print("{key} -- {value}".format(key=key, value=value))

这里需要注意的就是这个循环,这里使用了items方法来获取每次循环对应的对象的key和value。
(8)日期
在python中日期可以使用 datetime 来做。举个例子:
-
# 日期处理
-
import datetime
-
# 当前日期
-
now = datetime.datetime.now()
-
print(now)
-
# 格式化日期
-
print(now.strftime("%Y-%m-%d %H:%M:%S"))
-
print(datetime.datetime.strptime("2018-12-31 00:00:00", "%Y-%m-%d %H:%M:%S")) 来源请引用:地理遥感生态网科学数据注册与出版系统
相关文章:
GEE学习笔记 七十:【GEE之Python版教程四】Python基础编程二
通过上一章的讲解,我们对于python有了初步的了解,这一章就详细讲解一下python的各个变量以及运算规则等内容。 关于测试代码推荐初学者将每一段代码都自己敲入编辑器中在本地运行。 1、数值 这是任何编程中都会有的基本变量,在python支持的…...
股票投资新出发之知识体系构建导论
文章目录前言参考资料如何构建体系实践理论tips前言 自2021年股票开户,投资已有2年左右,但更多的是凭感觉式的拍脑袋投资,没有自己的投资体系,所以开此专栏从零开始构建知识体系,勉励自己不断学习。两年的投资经验让我…...
蓝桥杯算法训练合集 十六 1.首字母变大写2.盾神计科导作业3.Cinema4.接水问题
目录 1.首字母变大写 2.盾神计科导作业 3.Cinema 4.接水问题 1.首字母变大写 问题描述 对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括…...
密码的世界
网络世界中常见的攻击方法 窃听攻击 窃听攻击是网络世界最常见的一种攻击方式,一些不能泄露的隐私信息,例如银行卡密码,账号密码,如果被窃听泄露的话通常会带来比较严重的后果。 中间人攻击 在中间人攻击中,小明准…...
如何用一句话感动测试工程师?产品和技术都这么说!
测试工程师在公司里的地位一言难尽,产品挥斥苍穹,指引产品前路;开发编写代码实现功能,给产品带来瞩目成就。两者,一个是领航员,一个是开拓者,都是聚光灯照耀的对象,唯独团队中的保障…...
MySQL中使用索引优化
目录 一.使用索引优化 数据准备 避免索引失效应用-全值匹配 避免索引失效应用-最左前缀法则 避免索引失效应用-其他匹配原则 1、 2、 3、 4、 5、 一.使用索引优化 索引是数据库优化最常用也是最重要的手段之一,通过索引通常可以帮助用户解决大多数的MySQL的性能优化…...
Linux C/C++ 多线程TCP/UDP服务器 (监控系统状态)
Linux环境中实现并发TCP/IP服务器。多线程在解决方案中提供了并发性。由于并发性,它允许多个客户端同时连接到服务器并与服务器交互。 Linux多线程编程概述 许多应用程序同时处理多项杂务。服务器应用程序处理并发客户端;交互式应用程序通常在处理后台…...
【JavaScript】JavaScript基本使用方法
如何回复程序员发来的短信:Hello world —hello nerd. 前言: 大家好,我是程序猿爱打拳。今天我给大家讲解的是初识JavaScript中基本组成成分、引入方法、输入输出语句,并用源码与效果图的方式展示给大家。 目录 1.JavaScript组成…...
Python数据容器、list列表、tuple元组、str字符串、数据容器(序列)切片、set集合、dict字典、字符串大小比较
数据来源 01 数据容器 为什么学习数据容器 数据容器 总结 02 列表 1)列表定义 为什么需要列表 列表的定义语法 列表的定义方式 演示 """ 演示数据容器之:list列表 语法:[元素,元素,......] """ # 定义一个列表list my_list …...
Python urllib
Python urllib Python urllib 库用于操作网页 URL,并对网页的内容进行抓取处理。 本文主要介绍 Python3 的 urllib。 urllib 包 包含以下几个模块: urllib.request - 打开和读取 URL。urllib.error - 包含 urllib.request 抛出的异常。urllib.parse …...
Centos7安装Python3
前言系统版本:Centos7.6python版本: python 3.10.4下载python下载链接:直通车找到对应版本的python安装包,这里以python 3.10.4为例点击3.10.4版本的链接,拉到最下面找到Files中对应的linux安装包鼠标右键复制下载链接登录linux系…...
[U3D ShaderGraph] 全面学习ShaderGraph节点 | 第四课 | Input/Lighting
📣📣📣本专栏所有内容在完结之前全部为试读模式,专栏完结之后会取消试读模式,如果感觉内容还不错的话请支持一下📣📣📣 ShaderGraph是可视化的着色器编辑工具。您可以使用此工具以可视方式创建着色器。 本专栏可以让你更了解ShaderGraph中每个节点的功能,更自如的…...
SpringBoot升级到3.0
SpringBoot 3.0出来有一段时间了,一直没时间来整理,这次来看一下吧。 Spring Boot 可以轻松创建独立的、生产级的基于 Spring 的应用程序,您可以“直接运行”。 SpringBoot升级到3.01. SpringBoot的维护时间线2. pom添加3. 打包大小对比4. 升…...
JavaWeb8-线程安全问题
目录 1.概念 1.1.单线程 1.2.多线程 2.导致线程不安全的5个因素 ①抢占式执行(首要原因) ②多个线程同时修改了同一个变量 ③非原子性操作 ④内存可见性 ⑤指令重排序 线程优点:加速程序性能。线程缺点:存在安全问题。 1…...
进程切换-
实验课之前有一些问题 中断机制 第一个问题: interrupt的两个状态源头: 外中断多由随机中断(异步中断)造成,如鼠标点击,键盘输入; 内终端多由故障终端:程序运行异常,硬件…...
python--matplotlib(2)
前言 Matplotlib画图工具的官网地址是 http://matplotlib.org/ Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制作的图形达到出版级的标准。 实验环境 Pycharm2020.2.5社区版,w…...
【李忍考研传】五、信心
这天,何隐一来到图书馆就一脸兴奋地对李忍说:“晚上告诉你一个好消息。”李忍又期待又迷惑。“小何今天是咋的了?买彩票中了二十?”虽然李忍很想知道何隐在卖什么关子,但是既然晚上就能知道,那就忍忍吧。 …...
Web 页面之间传递参数的几种方法
Web 页面之间传递参数的方法有很多种,下面列出一些常见的方法以及它们的代码示例。 一、前端直接传递参数 1、URL 参数传递(query string):通过 URL 的查询字符串(即问号后面的参数)将参数传递给页面。可…...
Android实例仿真之二
目录 三 从无入手 第一阶段 第二阶段 第三阶段 第四阶段 第五阶段 第六阶段 第七阶段 八 举两个典型例子: 九 逆向工程 三 从无入手 这节标题叫从无入手,什么意思呢?如果没有Android这个实例存在,你要做一个类似Android…...
Pearcleaner:为你的Mac带来彻底清理体验的免费开源工具
Pearcleaner:为你的Mac带来彻底清理体验的免费开源工具 【免费下载链接】Pearcleaner A free, source-available and fair-code licensed mac app cleaner 项目地址: https://gitcode.com/gh_mirrors/pe/Pearcleaner 你是否曾因Mac存储空间不足而感到困扰&am…...
VRLog×框架:隐私保护记录链接与验证注册的创新融合
1. VRLog框架:隐私保护记录链接与验证注册的融合创新在选民登记系统这类需要跨机构协作的高敏感场景中,如何在确保数据隐私的同时实现准确记录匹配,一直是困扰业界的难题。传统隐私保护记录链接(PPRL)技术虽然能保护计…...
【军事三维电子沙盘】多源数据融不进去?聊聊我踩过的4个坑无标题
一、先说个真实情况:传统军事沙盘基本废了我不知道别人单位什么样,反正我们之前那个实体沙盘,标一次态势要三四个人搞半天。标完了,情况早变了。雷达数据接不进去,无人机画面挂不上,北斗定位只能手动标。指…...
ARM GICv3虚拟中断控制器架构与ICH_LR寄存器解析
1. ARM GICv3虚拟中断控制器架构概述在ARMv8-A架构的虚拟化环境中,中断控制器的虚拟化是实现高效虚拟机隔离和实时响应的关键技术。GICv3作为第三代通用中断控制器,通过引入虚拟化扩展(Virtualization Extensions)为每个虚拟CPU(vCPU)提供了完整的虚拟中…...
程序设计语言 —计算机等级考试—软件设计师考前备忘录—东方仙盟
章节:程序设计语言 → 程序语言分类就在程序语言基础那一大块,专门分 4 大类:命令式(过程式)语言函数式语言逻辑式语言面向对象语言你刷题没翻到,是因为一般教材把它放在:编译原理 / 程序设计语…...
RJ45连接器工程实战:从PoE热故障到户外防水的12个设计禁区
一句话核心:RJ45连接器选型失败,往往不是速率不达标,而是热、水、地、工艺四个字中的一个出了问题。本文从电源供电发热、户外环境腐蚀、屏蔽接地错误、现场压接失控四个维度,梳理12个容易被忽视的设计禁区,并提供可复…...
Guava Ratelimiter实现单机接口限流
废话不多说直接上代码:1.依赖:<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>31.1-jre</version></dependency>2.配置类注册bean:package com.h…...
基于MCP协议构建Next.js项目智能中枢:自动化AI开发助手集成
1. 项目概述:一个为Next.js Prisma项目注入“项目智能”的MCP服务器如果你和我一样,日常开发重度依赖像Claude Code、Cursor这类AI编程助手,那你肯定遇到过这样的痛点:每次打开一个新项目,或者切换到一个复杂的模块&a…...
别再只调包了!深入OpenCV底层:我是如何用‘土办法’手动提取特征实现水果分类的
从调包到造轮子:OpenCV手工特征工程实战水果分类 当所有人都在讨论如何用YOLOv8实现99%准确率时,我却在思考:如果回到没有预训练模型的时代,我们该如何用最基础的图像处理技术解决分类问题?这就像在自动驾驶时代重新学…...
RPG Maker解密工具完整指南:游戏资源提取实战教程
RPG Maker解密工具完整指南:游戏资源提取实战教程 【免费下载链接】RPGMakerDecrypter Tool for decrypting and extracting RPG Maker XP, VX and VX Ace encrypted archives and MV and MZ encrypted files. 项目地址: https://gitcode.com/gh_mirrors/rp/RPGMa…...
