博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
GEE学习笔记 七十:【GEE之Python版教程四】Python基础编程二
阅读量:4072 次
发布时间:2019-05-25

本文共 3227 字,大约阅读时间需要 10 分钟。

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

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

1、数值

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

  • 整型(int):比如 10

  • 浮点型(float):比如 10.12

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

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

# 数值类型# 整型age = 10print("age is {0}".format(age))# 浮点型price = 12.35print("price is {0}".format(price))# 复数result = 1 + 2jprint("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+" "+text2print(text3)# format 拼接text4 = "{0} {1}".format(text1, text2)print(text4)text5 = "hello world"# 长度print(len(text5))# 字符串切割转数组print(text5.split(" "))# 切片 [开始索引:结束索引:步长],左闭右开,比如下面就是1-3也就是 ellprint(text5[1:4])# 索引print(text5[1])# 大小写text6 = "Hello Wolrd"print(text5.upper())print(text5.lower())

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

(3)布尔值

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

# 布尔值flag1 = Trueflag2 = Falseflag3 = Noneif 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()来创建。

具体操作例子:

# 集合 setage = [12, 13, 12, 11, 14]print(age)# 生成集合去掉重复的12ageSet = 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"))

这里面只是写了一个最简单的例子,想要学习更加复杂的例子和用法可以参考API或者网上专业的python教程。


大家如果有问题需要交流或者有项目需要合作,可以微信联系我,加微信好友请留言加上“GEE”。

知乎专栏:

CSDN:

转载地址:http://fceji.baihongyu.com/

你可能感兴趣的文章
RedHat + OS CPU、MEM、DISK
查看>>
net TCP/IP / TIME_WAIT / tcpip / iperf / cain
查看>>
webServer kzserver/1.0.0
查看>>
hd printer lexmark / dazifuyin / dayin / fuyin
查看>>
OS + Unix IBM Aix basic / topas / nmon / filemon / vmstat / iostat / sysstat/sar
查看>>
my ReadMap subway / metro / map / ditie / gaotie / traffic / jiaotong
查看>>
OS + Linux DNS Server Bind
查看>>
linux内核模块中 软中断的 例子
查看>>
grails中主键的uuid生成方式
查看>>
grails下acegi的访问规则的配置
查看>>
纯c封装的一个队列
查看>>
linux中时间精度的获取问题
查看>>
cancel_rearming_delayed_workqueue 函数使用的一个小备注
查看>>
使用LOGFONT修改windows sdk下字体为系统字体
查看>>
wind32 sdk下修改控件的字体
查看>>
c列举文件目录
查看>>
解决MFC下线程创建的一个编译错误
查看>>
在HW这四个月
查看>>
最近的生活
查看>>
freemarker下的一个错误的解决
查看>>