Python 基础

1. 数据类型:

  1. 整数:其写法和数学的写法一样,例如1,-1,0;十六进制用0x表示,例如0xff
  2. 浮点数:1.23,1.7e3,1.2e-3
  3. 字符串:使用''""表示。
  4. 布尔值:truefalse;布尔值可以使用andornot进行运算。
  5. 空值:空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。
  6. 数据列表(list):有序列表,可以随时添加和删除元素。
demo_list = ["Admin", 90, "Tom", 80] # list 中的数据类型可以不一致
empty_list = []
demo_list[0] # 访问 list 中索引为0的元素,得到:"Admin"
demo_list[-1] # 访问 list 中倒数第1个元素,得到:80
empty_list.append(1) # 在 list 末尾追加1各元素,得到:[1]
empty_list.insert(0,"Tim") # 在 list 的0位置追加一个元素,得到:["Tim", 1]
empty_list.pop(1) # 删除 list 索引为1的元素,得到:["Tim"]
empty_list.pop() # 删除 list 末尾的元素,得到:[]
demo_list[0] = "Jary" # 将索引为0位置的元素替换,得到:["Jary", 90, "Tom", 80]
  1. 元组(tuple):与 list 相似,有序,可以同时存储多种类型的数据,但是一旦创建就不能修改
demo_tuple = ("Admin", 90, "Tom", 80)
demo_tuple[0] # 得到:"Admin"
demo_tuple[-1] # 得到:80
single_tuple=(1,) # 单元素的元组,必须在元素后面添加逗号
empty_tuple = () # 空元组
#
change_tuple = (1, 2, ["Admin", 90]) # 元组虽然不可改变,但其中的list是可变的
temp_tuple = change_tuple[2]
temp_tuple[0] = "Tom"
temp_tuple[1] = 80 # 此时 change_tuple 的值为:(1, 2, ["Tom", 80])
  1. 字典(dict):key-value集合,对比 java 中的 Map
demo_dict = {'Admin':90, 'Tom':80}
len(demo_dict) # 得到 dict 的长度:2
  1. dict 查找速度快,无论元素多少,查找速度都一样;而 list 的查找速度随着元素增加而逐渐下降。
  2. dict 内部的元素是无序的,即存入的顺序和取出来的顺序不一样;而 list 是有序的。
  3. dict 的 key 是不可变的,所以可以使用字符串、整数、浮点数作为 key,但是不能使用 list 作为 key。

2. python 的打印

print(100 + 200)  # 得到:300
print('100 + 200 =', 100 + 200) # 得到:100 + 200 = 300 

3. 数组切片

l[a:b:n]

表示从 [a,b) ,每隔 n 个值获取数组 l 的元素后重新生成一个新的数组;

  • 如果从索引0开始,可以省略 a
  • 如果到最后一个元素,可省略 b
  • 如果连续取值,可省略 :b ;
l = range(1, 101)
for i in l[4:50:5]:
    print(i)
print(l[4:50:5])

# 倒序切片 最后10个5的倍数
print(l[(-9*5)-1::5]) # range(55, 101, 5)

4. 生成特定的数组

  1. 生成一个 [1x1, 2x2, 3x3, ..., 10x10] 的数组
[x * x for x in range(1, 11)]
  1. 请编写一个函数,它接受一个 list,然后把list中的所有字符串变成大写后返回,非字符串元素将被忽略。
def toUppers(l):
    return [x.upper() for x in l if isinstance(x, str)]


print(toUppers(['Hello', 'world', 101]))

# ['HELLO', 'WORLD']

你可能感兴趣的:(Python 基础)