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…...
IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
SpringTask-03.入门案例
一.入门案例 启动类: package com.sky;import lombok.extern.slf4j.Slf4j; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cache.annotation.EnableCach…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...
GO协程(Goroutine)问题总结
在使用Go语言来编写代码时,遇到的一些问题总结一下 [参考文档]:https://www.topgoer.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/goroutine.html 1. main()函数默认的Goroutine 场景再现: 今天在看到这个教程的时候,在自己的电…...
MySQL 部分重点知识篇
一、数据库对象 1. 主键 定义 :主键是用于唯一标识表中每一行记录的字段或字段组合。它具有唯一性和非空性特点。 作用 :确保数据的完整性,便于数据的查询和管理。 示例 :在学生信息表中,学号可以作为主键ÿ…...
基于Java+VUE+MariaDB实现(Web)仿小米商城
仿小米商城 环境安装 nodejs maven JDK11 运行 mvn clean install -DskipTestscd adminmvn spring-boot:runcd ../webmvn spring-boot:runcd ../xiaomi-store-admin-vuenpm installnpm run servecd ../xiaomi-store-vuenpm installnpm run serve 注意:运行前…...
