2.0 Variables and Basic Data Structures变量和基本数据结构

2.0 Variables and Basic Data Structures变量和基本数据结构

2.1 变量和赋值

List所有变量in this notebook
%whos 
Clear变量x from the workspace
%del x
Remove所有变量in the notebook
%reset

在Python程序中可随时修改变量的值,只记录变量的最新值。

2.2 Data Structure - Strings字符串


 Strings are surrounded by either single or double quotation marks. 在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号

"This is a string."
'This is also a string.'

可以用print() 函数输出strings到screen.

print("I love Python!") 
w = "Hello World"
type(w)
str

Hello World中间的空格也是字符串
TRY IT! Create an empty string. Verify that the empty string is a str.

s = " "
type(s)
str

内置函数len()可以给出the size of the string

也可以通过索引来访问。w = "Hello World",w[6]就是'W',因为索引是从0开始的。
w[6:11]是'World'。The syntax for slicing in Python is [start:end:step], the 3rd one - step is optional.
w[6:]会取到末尾。w[:5]从头取。w[6:-2]取到倒数第二个。

Retrieve every other character in the variable w
w[::2]是'HloWrd'

反斜杠字符(\)用于转义具有特殊含义的字符,例如换行符、反斜杠本身或引号字符。
'don\'t'的结果是"don't"

一个字符串可以连接到另一个字符串。例如:

str_a = "I love Python! "
str_b = "You too!"
print(str_a + str_b)

I love Python! You too!
内置函数 str() 将其他数据类型转换为字符串

x = 1
print("x = " + x) #是错的

#改成:
print("x = " + str(x))

#x的类型不再是数字,而是string
type(str(x))
str

Python里面的字符串是对象object,因此有各种各样的方法来进行操作。

w.upper()                                        变成大写:'HELLO WORLD'。
w.count("l")                                     计算字母“l”的出现次数
w.replace("World", "Berkeley")        将变量 w 中的“World”替换为“Berkeley”

.title()将每个单词的首字母都改为大写。
.upper()所有字母大写
.lower()所有字母小写

打印格式化的字符串
name = "UC Berkeley"
country = 'USA'

print("%s is a great school in %s!"%(name, country))
双引号中的%s告诉Python想在此位置插入一些字符串(在本例中 s 代表字符串)。%(name, country) 是我们要插入的两个字符串的位置。

Python 3.6及更高版本引入了f-String:
print(f"{name} is a great school in {country}.")
直接打印3*4的值
print(f"{3*4}")

2.3 Data Structure - Lists

list列表是一种数据类型,一种有序的集合,可以随时添加和删除其中的元素。使用一对括号 [ ],元素用逗号分隔。可以包含任何类型的数据:数字、字符串或其他类型的数据。

list是内置数据类型,列表中元素的数据类型不必相同的。实际上,列表(list)中保存的是数据存放地址,简单的说就是指针,并非数据,这样保存一个list就太麻烦了,例如list1=[1,2,3,'a']需要4个指针和四个数据,增加了存储开销和降低了访问效率。但是可以动态插入、增加项。

list_1 = [1, 2, 3]
list_2 = ['Hello', 'World']
list_3 = [1, 2, 3, 'Apple', 'orange']
list_4 = [list_1, list_2]

可以用 + 号来连接两个列表。 
append方法将新项添加到现有列表、
insert 和 remove 方法在列表的任何位置中插入或删除元素
函数 del使用索引删除任意位置处的列表元素,条件是知道其索引。
可以使用运算符 in 快速检查某个元素是否在列表中
使用列表函数list()可以将其他序列项转换为列表。

list('Hello World')

['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd']

2.4 Data Structure - Tuples

Tuples元组看起来很像列表,但使用圆括号()而非中括号[]来标识。如果定义只包含一个元素的元组,必须在这个元素后面加上逗号:my_t = (3,)。但是创建只包含一个元素的元组通常没有意义。

和列表list类似,但是元组中的元素,一旦定义,就无法更改。但是给tuples元组变量重新赋值是合法的。要换整个换,内部元素不能换。

tuple_1 = (1, 2, 3, 2)
len(tuple_1)  #获取tuple_1的长度。
tuple_1.count(2) #计算 tuple_1 中数字 2 的出现次数。
元组和列表有着完全不同的存储方式。因为不用考虑更新问题,元组的速度性能要远优于列表。优先使用元组,应该成为Python程序员遵循的一条基本原则。用了十几年才想明白:Python的精髓居然是方括号、花括号和圆括号! - 知乎

2.5 Data Structure - Sets

2.6 Data Structure - Dictionaries

2.7 Introducing Numpy Arrays

Numpy(Numerical Python)是一个开源的Python数据科学计算库,可能是 Python 中最基本的数值计算模块。

使用 Numpy模块需要先导入它。导入的常规方法是使用“np”作为缩写名称。也可以用别的名称,但是“np”是目前约定俗成的,别改了。

import numpy as np

Numpy定义了一种object,称为ndarray来处理N维数组。numpy中的大部分属性和方法都是为ndarray服务的。所以,掌握了ndarray的用法,基本就掌握了numpy的用法。定义数组array,用np.array把列表list转换成一个数组

x = np.array([1, 4, 3])
y = np.array([[1, 4, 3], [9, 2, 7]])

type(x)
numpy.ndarray
import numpy as np
ar=np.array([[1,2,3,4,5,6],[2,3,4,5,6,7],[3,3,4,5,6,7]])
#ar的类型,维度,shape,个数,数据类型,字节大小
print(type(ar),ar.ndim,ar.shape,ar.size,ar.dtype,ar.itemsize) 

shape 属性, size 属性,ndim属性,dtype属性,itemsize属性

.Numpy 中的 arange 函数。 linspace(a,b,n)np.zerosnp.ones 和 np.empty 

2.8 Summary and Problems

  • 11
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
不一定。在netCDF文件中,变量的名称和存储的值是分离的,因此变量的名称不一定等于变量值的名称。在你打开一个netCDF文件后,可以通过`nc_dataset.variables`来获取数据集中所有变量的信息,每个变量都包含了其名称、数据类型、维度信息、单位等元数据信息,以及其对应的数据值。 下面是一个示例代码,用于获取名为'data'的变量的数值: ```python import netCDF4 as nc # 打开netCDF文件 nc_file = nc.Dataset('example.nc') # 获取名为'data'的变量的数值 data = nc_file.variables['data'][:] # 关闭文件 nc_file.close() ``` 其中,`nc_file.variables['data']`返回的是一个netCDF变量对象,通过添加`[:]`可以获取该变量的数据值,此处将数组赋值给了变量`data`。这个变量名称可以是在创建netCDF文件时指定的名称,也可以在打开文件后进行修改。 需要注意的是,如果在`nc_dataset.variables`中找不到名称为'data'的变量,那么就无法获取该变量的数值。如果出现了这种情况,可以尝试遍历所有变量名,看看是否存在名称类似于'data'的变量。例如,可以使用以下代码来列出所有变量名,并查找其中是否有类似于'data'的变量: ```python # 遍历所有变量名 for var_name in nc_file.variables.keys(): if 'data' in var_name: print(var_name) ``` 这段代码将遍历所有变量名,并打印出变量名中包含'data'的所有变量名。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值