当前位置: 首页 > news >正文

GEE学习笔记 七十:【GEE之Python版教程四】Python基础编程二

通过上一章的讲解,我们对于python有了初步的了解,这一章就详细讲解一下python的各个变量以及运算规则等内容。

   关于测试代码推荐初学者将每一段代码都自己敲入编辑器中在本地运行。

1、数值

这是任何编程中都会有的基本变量,在python支持的数据类型主要包括:

  • 整型(int):比如 10

  • 浮点型(float):比如 10.12

  • 复数(complex):是由x+yj表示的有序对的实数浮点数组成,其中x和y是实数,j是虚数单位,比如 10+5j

除此之外,在程序运行中我们还可以用0表示布尔值False,使用非零值表示布尔值True。

  1. # 数值类型

  2. # 整型

  3. age = 10

  4. print("age is {0}".format(age))

  5. # 浮点型

  6. price = 12.35

  7. print("price is {0}".format(price))

  8. # 复数

  9. result = 1 + 2j

  10. 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

相关代码:

  1. # 四则运算

  2. print(7+3)

  3. print(7-3)

  4. print(7*3)

  5. print(7/3)

  6. print(7//3)

  7. print(7%3)

  8. print(7**3)

(2)字符串

字符串就是一串文本,可以使用双引号("")或者单引号('')包围,如果是多行的可以使用三引号("""xxx"""或者'''xxx''')。常用的方法参考下面例子:

  1. # 字符串

  2. text1 = "hello"

  3. text2 = "world"

  4. # + 简单拼接

  5. text3 = text1+" "+text2

  6. print(text3)

  7. # format 拼接

  8. text4 = "{0} {1}".format(text1, text2)

  9. print(text4)

  10. text5 = "hello world"

  11. # 长度

  12. print(len(text5))

  13. # 字符串切割转数组

  14. print(text5.split(" "))

  15. # 切片 [开始索引:结束索引:步长],左闭右开,比如下面就是1-3也就是 ell

  16. print(text5[1:4])

  17. # 索引

  18. print(text5[1])

  19. # 大小写

  20. text6 = "Hello Wolrd"

  21. print(text5.upper())

  22. print(text5.lower())

    上面只是展示了一部分最简单的常用方法,字符串的方法还是非常多,需要自己下去一个一个尝试。这里面最重要的莫过于切片方法,这个我会在下面列表中在详细说一下。

(3)布尔值

    布尔值非常简单,就是True或者False。需要注意的是这里的True或者False第一个字母是大写,同时还需要注意的是在python中空、数值0或者空列表等都是False。

  1. # 布尔值

  2. flag1 = True

  3. flag2 = False

  4. flag3 = None

  5. if flag3:

  6.     print("flag3 is not None")

  7. else:

  8.     print("flag3 is None")

(4)列表

列表List是我们最为常用的例子,它是通过"[]"定义,数据之间用","隔开,然后索引是从0开始。比如:

a = ["a", "b", "c"]

这是一个字符串列表,第0位是"a",依次类推,提取列表数据可以直接使用 a[0] 取第一位的数据。操作列表最常用的是之前提到的一个切片,切片可以理解为就是对列表做提取工作。它的基本规则是:

[ 开始索引 : 结束索引 : 步长 ],左闭右开

开始索引就是列表起始索引,比如0、1等,可以是负数,复数代表从末尾开始算起,比如-1就是列表最后一个数。这个可以通过下面方法验证一下。

  1. a = ["a", "b", "c"]

  2. print(a[-1])

具体例子:

  1. # 列表

  2. a = ["a", "b", "c"]

  3. print(a[-1])

  4. # 列表长度

  5. print(len(a))

  6. # 切片

  7. print(a[1:])

  8. # 循环列表

  9. for _a in a:

  10.     print(_a)

  11.     

  12. # 添加新的数据

  13. a.append("d")

  14. print(a)

  15. # 删除指定数据

  16. del a[0]

  17. print(a)

  18. # 删除最后一个元素并且返回删除的值

  19. print(a.pop())

  20. print(a)

(5)元组

    元组(tuple)类似列表,但是和列表不同的它是不可变的,也就是说我们生成一个元组后只会对其进行查询等操作,不能修改其值。元组生成方式:

  • 使用小括号 "()" 来写元组,比如 (1, 2, "a")

  • 空的元组就是 ()

  • 如果只有一个元素 ("a",),不要丢掉后面的","。

具体例子

  1. # 元组

  2. aTuple = ("a", "b", "c")

  3. print(type(aTuple))

  4. # 获取第一个元素

  5. print(aTuple[0])

  6. # 循环

  7. for _a in aTuple:

  8.     print(_a)

(6)集合

    集合是一个无序不重复的列表,这里需要注意就是集合中的每一个元素都是不重复的,所以我们通常使用它来去重,创建时候我们通常使用set()来创建。

具体操作例子:

  1. # 集合 set

  2. age = [12, 13, 12, 11, 14]

  3. print(age)

  4. # 生成集合去掉重复的12

  5. ageSet = set(age)

  6. print(ageSet)

  7. ageSet2 = set([10, 11, 12, 15])

  8. # 在 ageSet 却不在 ageSet2中数据

  9. print(ageSet - ageSet2)

  10. # 两者并集

  11. print(ageSet | ageSet2)

  12. # 两者交集

  13. print(ageSet & ageSet2)

  14. # 不同时在ageSet和ageSet2中的数据

  15. print(ageSet ^ ageSet2)

(7)字典

字典这个非常简单,就是 { key : value } 这种格式。具体的直接看相关代码:

  1. # 字典

  2. people = {

  3.     "age": 10,

  4.     "name": "Elly",

  5.     "desc": "a boy ???",

  6.     "code": [1, 2, 30.5, 22.1]

  7. }

  8. # 获取所有键值

  9. print(people.keys())

  10. # 获取所有的值

  11. print(people.values())

  12. # 获取指定的值

  13. print(people.get("age"))

  14. # 循环

  15. for key, value in people.items():

  16.     print("{key} -- {value}".format(key=key, value=value))

这里需要注意的就是这个循环,这里使用了items方法来获取每次循环对应的对象的key和value。

(8)日期

在python中日期可以使用 datetime 来做。举个例子:

  1. # 日期处理

  2. import datetime

  3. # 当前日期

  4. now = datetime.datetime.now()

  5. print(now)

  6. # 格式化日期

  7. print(now.strftime("%Y-%m-%d %H:%M:%S"))

  8. 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.首字母变大写 问题描述 对一个字符串中的所有单词,如果单词的首字母不是大写字母,则把单词的首字母变成大写字母。在字符串中,单词之间通过空白符分隔,空白符包括…...

密码的世界

网络世界中常见的攻击方法 窃听攻击 窃听攻击是网络世界最常见的一种攻击方式,一些不能泄露的隐私信息,例如银行卡密码,账号密码,如果被窃听泄露的话通常会带来比较严重的后果。 中间人攻击 在中间人攻击中,小明准…...

如何用一句话感动测试工程师?产品和技术都这么说!

测试工程师在公司里的地位一言难尽,产品挥斥苍穹,指引产品前路;开发编写代码实现功能,给产品带来瞩目成就。两者,一个是领航员,一个是开拓者,都是聚光灯照耀的对象,唯独团队中的保障…...

3|物联网控制|计算机控制-刘川来胡乃平版|第2章:计算机控制系统中的检测设备和执行机构-2.1传感器和变送器|课堂笔记|ppt

...

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…...

Cursor实现用excel数据填充word模版的方法

cursor主页:https://www.cursor.com/ 任务目标:把excel格式的数据里的单元格,按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例,…...

逻辑回归:给不确定性划界的分类大师

想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...

拉力测试cuda pytorch 把 4070显卡拉满

import torch import timedef stress_test_gpu(matrix_size16384, duration300):"""对GPU进行压力测试,通过持续的矩阵乘法来最大化GPU利用率参数:matrix_size: 矩阵维度大小,增大可提高计算复杂度duration: 测试持续时间(秒&…...

Reasoning over Uncertain Text by Generative Large Language Models

https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...

QT3D学习笔记——圆台、圆锥

类名作用Qt3DWindow3D渲染窗口容器QEntity场景中的实体(对象或容器)QCamera控制观察视角QPointLight点光源QConeMesh圆锥几何网格QTransform控制实体的位置/旋转/缩放QPhongMaterialPhong光照材质(定义颜色、反光等)QFirstPersonC…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程? 2. Java创建对象的过程? 3. 对象的生命周期? 4. 类加载器有哪些? 5. 双亲委派模型的作用(好处)? 6. 讲一下类的加载和双亲委派原则? 7. 双亲委派模…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON,依赖模型推理阶段输出进行差分测试,但在训练阶段是不可行的,因为训练阶段直到最后才有固定输出,中间过程是不断变化的。API 库覆盖低,因为各个 API 都是在各种具体场景下使用。…...

ubuntu22.04有线网络无法连接,图标也没了

今天突然无法有线网络无法连接任何设备,并且图标都没了 错误案例 往上一顿搜索,试了很多博客都不行,比如 Ubuntu22.04右上角网络图标消失 最后解决的办法 下载网卡驱动,重新安装 操作步骤 查看自己网卡的型号 lspci | gre…...

全面解析数据库:从基础概念到前沿应用​

在数字化时代,数据已成为企业和社会发展的核心资产,而数据库作为存储、管理和处理数据的关键工具,在各个领域发挥着举足轻重的作用。从电商平台的商品信息管理,到社交网络的用户数据存储,再到金融行业的交易记录处理&a…...

《信号与系统》第 6 章 信号与系统的时域和频域特性

目录 6.0 引言 6.1 傅里叶变换的模和相位表示 6.2 线性时不变系统频率响应的模和相位表示 6.2.1 线性与非线性相位 6.2.2 群时延 6.2.3 对数模和相位图 6.3 理想频率选择性滤波器的时域特性 6.4 非理想滤波器的时域和频域特性讨论 6.5 一阶与二阶连续时间系统 6.5.1 …...