Python学习笔记 - 基本类型
根据廖雪峰的Python教程做成的笔记,其中不包含全部知识点,仅是重点或是容易发生混淆或者忘记的部分。
输入输出
- 输入
name = input('Please enter your name:')
- 输出
a = 1024
b = 768
print('%d * %d = %d' % (a, b, a * b))
list和tuple
- list:可变数组
classmates = ['huang.lei', 'huang.bo', 'sun.honglei']
- tuple:也叫元组,是不可变数组
month = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
特点
list和C++中的vector从功能上比较相似,但比vector更加灵活,
注意:list/tuple中的元素可以是不同类型的。
tableA = ['Apple', 123, True]
tableB = ['python', 'golang', ['asp', 'php'], 'C++']
print(len(tableA))
print(len(tableB))
常用方法
- len():返回list、tuple的元素个数。
lenOfMonth = len(month)
print(lenOfMonth)
- 元素取得
index为负数的场合表示访问数组的倒数第n个元素。
m = month[0] # 访问第一个元素
m = month[-1] # 访问最后一个元素,倒数第二个元素同理
- append():追加元素
classmates.append('liu.bang')
- insert():插入
classmates.insert(1, 'li.jie') # 插入 li.jie 到第二个位置
- pop():
classmates.pop() # 删除末尾元素
classmastes.pop(i) # 删除指定位置的元素
- sort():排序
val = [2,3,1,5,4]
val.sort() # val = [1,2,3,4,5]
条件判断
if
不同于其他语言,python用elif
表示else if
。
pass
表示无处理。
age = 6
if age >= 18:
print('audlt')
elif age >= 6: # 注意这里是elif,不是else if
print('teenager')
else
print('kid')
循环
for
基本语法
L = [1,2,3,4,5]
for x in L:
if x == 1:
continue
print(x)
常用方法
- range():生成序列
# 生成0 - 9的序列
for x in range(10)
print(x)
# 生成1 - 100的序列
for y in range(1, 101)
print(y)
while
用法基本同C++一样
sum = 0
n = 99
while n > 0
sum = sum +n
n = n - 2
print(sum)
dict和set
dict:
字典,实则就是C++中的map
d = {'Michael': 95, 'Bob': 80, 'Tom': 85}
d['Tracy'] = 90 # 添加元素
d.pop('Bob') # 删除元素
print('Tom')
dict常用方法:
- 判断key是否存在
方法一:
d = {'Michael': 95, 'Bob': 80, 'Tom': 85}
if 'Tom' in d:
print('exist')
else:
print('no exist')
方法二:
isTomExist = d.get('Tom')
isBobExist = d.get('Bob', -1)
if (isTomExist == None) or (isBobExist == -1):
print('Error!')
else:
print('Success!')
set:
类似C++中的set
s = set([1, 2, 3])
s.add(4) # OK
s.add(2) # 无效,set中没有重复的值
s.remove(2) # 删除元素
set常用方法:
- 取交集
s1 = set([1,2,3])
s2 = set([2,3,4])
s = s1 & s2
print(s) # s = {2,3}
- 取并集
s1 = set([1,2,3])
s2 = set([2,3,4])
s = s1 | s2
print(s) # s = {1,2,3,4}
字符串操作
- lower():字符串变成小写
str = 'ApPlE'
s1 = str.lower()
print(s1)
# 结果:'apple'
- upper():字符串变成大写
str = 'ApPlE'
s1 = str.upper()
print(s1)
# 结果:'APPLE'
- capitalize():首字母大写
str = 'ApPlE'
s1 = str.upper()
print(s1)
# 结果:'Apple'
- replace():字符替换
s = 'Hello world!!'
s1 = s.replace('world', 'Wang') # s = 'Hello World', s1 = 'Hello Wang'
- strip():移除字符串头和尾指定的字符,默认为去掉空格
str = '0000000this is an apple!0000'
s = str.strip('0')
print(s)
# 结果:'this is an apple!'
L = ['A', 'B', None, 'C', ' ']
L1 = L.strip()
print(L1)
# 结果:['A', 'B', 'C']
基本数据类型转换
int('123') # string -> int
int(12.23) # float -> int
float('1.23') # float -> string
str(1.23) # float -> string
str(100) # int -> string