跳到主要内容

数据类型

Number 数字

Number数字: 主要有四种类型,整数、布尔型(布尔型继承 Int)、浮点数和复数。

JS 不支持复数,需要用 Math.js 等库或手动实现。

# 整数
num1 = 1

# 布尔型
flag = True

# 浮点数
num2 = 3.1415926

# 复数
num3 = 1 + 2j

String 字符串

字符串:多个字符组合在一起就是字符串。

str = 'hello'

字符串的常见操作如下:

  • startswith:判断字符串是否以指定的子字符串开头
  • endswith:判断字符串是否以指定的字符串结尾
  • find: 查找子字符串的索引位置,未找到返回-1
  • replace: 将指定的子字符串全部替换为新的子字符串
  • split: 按指定字符进行分割,返回列表
  • strip: 移除字符串前、后的空白符
  • upper:将所有字符全部大写
  • lower: 将所有字符全部小写
# 字符串的常见操作
str = 'abcdef'

print(str.startswith('a')) # true
print(str.endswith('f')) # true

print(str.find('c')) # 2
print(str.find('C')) # -1

print(str.replace('def', 'xyz')) # 'abcxyz'

print('a,b,c,d,e,f'.split(',')) # ['a', 'b', 'c', 'd', 'e', 'f']

print(' abc def '.strip()) # 'abc def'

print('AbcDef'.upper()) # 'ABCDEF'
print('AbcDef'.lower()) # 'abcdef'

List 列表

列表:把多个元素排放在一起,就形成了列表。

list1 = ['Blue', 'Yellow', 'Red']
list2 = [1, 2, 3, 4, 5]

列表的常见操作如下:

  • append: 向列表尾部添加新元素
  • insert: 在指定索引位置插入新元素
  • pop: 移除制定索引位置的元素,不传索引则默认移除列表最后一个,返回被移除的元素
  • remove: 和 pop 用法一样,区别是不会返回被移除的元素
  • reverse: 反转列表
  • sort: 排序列表
  • clear: 清除列表
list1 = [1, 2, 3, 4, 5]

list1.append(6)
print(list1) # [1, 2, 3, 4, 5, 6]

list1.insert(1, 20)
print(list1) # [1, 20, 2, 3, 4, 5, 6]

list1.pop()
print(list1) # [1, 20, 2, 3, 4, 5]
list1.pop(1)
print(list1) # [1, 2, 3, 4, 5]

list1.reverse()
print(list1) # [5, 4, 3, 2, 1]

list1.clear()
print(list1) # []

Tuple 元组

元组:元组和列表类似,不同的是:元组的元素不能修改,元组使用的是小括号定义,而列表使用方括号。

# 元组
tup1 = ('Blue', 'Yellow', 'Red')
tup2 = tuple(['Blue', 'Yellow', 'Red']) # 和tup1等价

tup3 = (1, 2, 3, 4, 5)

Set 集合

Set 集合是一组由唯一集合对象构成的无序、多项集合,其核心功能是自动去重,因此特别适合进行集合运算,例如:交集、并集。

# 通过set函数创建
s1 = set('abc')

# 通过花括号创建
s2 = { 'Blue', 'Red', 'Yellow' }

Set集合常见的操作如下:

  • add:向集合中添加元素,如果已存在则自动去重
  • remove: 移除列表元素,如果被移除的元素不存在,则会报KeyErrorc错误
  • discard: 移除列表元素,和remove不同的是,被删除元素如果不存在,则不会报错
  • clear: 清空元素列表
s1.add('x')
print(s1) # {'a', 'b', 'c', 'd'}

if 'd' in s1:
s1.remove('d')
print(s1) # { 'a', 'b', 'c' }

s1.discard('d')
print(s1) # {'a', 'b', 'c'}

s1.clear()

Dictionary 字典

Dictionary 字典是一系列 key/value 键值对的集合。

dict1 = { 'admin': 'AAA', 'age': 18 }
dict2 = dict(admin='AAA', age=18)

print(dict1) # { 'admin': 'AAA', 'age': 18 }
print(dict2) # { 'admin': 'AAA', 'age': 18 }

dict 字段常见的操作如下:

  • d[key] = value: 设置一个新的键值对
  • get: 获取指定键的值
  • pop: 移除指定 key,如果 key 不存在则报错 KeyError
  • keys: 返回由 key 组成的视图对象
  • values: 返回由 value 组成的视图对象
  • items: 返回由 key/value 组成的视图对象
  • clear: 清空列表
dict1['phone'] = '18222221111'
print(dict1) # { 'admin': 'AAA', 'age': 18, 'phone': '18222221111' }

print(dict1.get('phone', None)) # '18222221111'
print(dict1.get('address', None)) # key不存在,返回None

if 'phone' in dict1:
dict1.pop('phone')
print(dict1) # { 'admin': 'AAA', 'age': 18 }

for key in dict1.keys():
print(key) # 'admin';'age'

for value in dict1.values():
print(value) # 'AAA'; 18

for key, value in dict1.items():
print(key, value) 'admin' 'AAA'; 'age' 18

dict1.clear()
print(dict1) # {}

类型判断

类型判断一般常用 typeisinstance 这两个函数,其用法如下:

type

# type用法
n = 123
s = 'abc'
f = True
l = [1, 2, 3]

print(type(n) == int) # True
print(type(s) == str) # True
print(type(f) == bool) # True
print(type(l) == list) # True

isinstance

# isinstance用法
class Animal: pass;
class Dog(Animal): pass;
dog = Dog()

print(isinstance(123, int)) # True
print(isinstance('abc', str)) # True
print(isinstance(True, bool)) # True
print(isinstance([1, 2, 3], list)) # True
print(isinstance(dog, Dog)) # True
print(isinstance(dog, Animal)) # True

类型转换

类型转换一般可通过对应的构造函数进行,例如 int(), str() 等,其用法如下:

s1 = '123'
n1 = int(s1)
print(type(n1) == int) # True

n2 = 456
s2 = str(n1)
print(type(s2) == str) # True