1. 字符串(字符串是不可变的)
1.1 单引号、双引号、三引号
单引号与双引号无区别,两者可以互相做转义,
三引号可以多行打印,单三引号与双三引号也无区别。
1.2 运算 + * [] [:] in not in len()
1.3 r b u
1.4 格式化字符串 %d,%f,%s,%03d,%0.2f,%(a,b),format
1.5
join 字符串连接
split 字符串切割
strip, lstrip, rstrip,分别是去掉字符串两边/左边/右边的空格
replace 替换
find 查找
count 数量
len 长度
1.6
string.digits 字符串内置的常量
string.ascii_letters
string.lowercase
string.printable
string.punctuation
string.uppercase
1.7 re 正则表达式
2. python的3种容器(tuple/list/dict)
2.1 tuple () 元祖,把多个元素集合在一块,打包元素,元组的元素不能修改
2.2 list [] 列表,类似于数组结构
用法: [], +, *, in, not in,append extend count pop remove sorted reversed
2.3 dict {key:value}
用法:keys, values, pop, del, items, get, __contains__, clear, in, update
3. set 集合格式,不允许有重复,frozenset
4. issubset, issuperset, remove, difference, symmetric_difference, union, intersection
#-----------------引号---------------
print('H"e"llo')
print("H'e'llo")
print('''Hello
World
!''')
print("""Hello
World
!""")
#-----------------运算---------------
print('abc' + 'def')
print('abc' * 3)
string = 'abcdefg'
print(string[:]) # abcdefg
print(string[3:]) # defg
print(string[:3]) # abc
print(string[3:5]) # de 左闭右开,包括最左边不包括最右边
print(string[-5:-2]) # cde 从右往左数 左开右闭
print(string[::-1]) # gfedcba 反转字符串
print(string[::2]) # aceg
print(string[7::-1]) #gfedcba
print(string[:6:-1])
print(string[7:3:-1])
print('ab' in string) # True判断ab是否在字符串中,返回bool
print('w' in string) # False
print(len(string)) #7 字符串的长度
#-----------------格式化字符串---------------
print('abc %s' %string)
print('%d,%3d,%03d' %(1, 1, 1)) # 1, 1,001 格式化补0或补空格
print('%08.3f' %1) #0001.000 总共8位数,不够补0
print('{}{}'.format('hello', 'world'))
print('{1}{1}{0}'.format('hello', 'world'))
print('{w}{h}{w}'.format(h='hello', w='world'))
str1 = ['hello','world']
print('{0[1]},{0[0]}'.format(str1))
#-----------------字符串用法---------------
str1 = ['a','b','c','d']
str2 = ')('.join(str1) # 字符串连接
print(str2) # a)(b)(c)(d
str3 = str2.split(')(') # 字符串分割
print(str3) # ['a','b','c','d']
# python里的所有字符串都是不可变的
s1 = 'hello world'
s2 = s1.replace('hello', 'hi')
print(s2) # hi world 把hello换成hi
print(s1) # hello world 实际上并不改变s1原本的值,而是新生成一个字符串
print(id(s2))
print(id(s1))
print(s1.count('o')) # 2 计算字符串o出现的次数
#-----------------字符串函数---------------
import string
print(string.digits) # 字符串内置常量
print(string.ascii_letters[26:]) # 大写A-Z
print(string.ascii_letters[:26]) # 小写a-z
#-----------------tuple---------------
a = (1, 2, 3, 4, 5)
print(type(a)) # tuple
print(a[0]) # 切片
#-----------------list---------------
import os
b = [1,2,3,4,5]
print(type(b)) # list
print(b[2:3]) # 切片 左闭右开
print(id(b))
b.append(10) # 改变了列表,
print(id(b))
#列表便捷用法
y = [i*2 for i in [8,-6,9]] # 列表里的每个值*2
print(y) # [16, -12, 18]
#range(n) 的用法:生成一个从0~n-1的列表
y = [i for i in range(7) if i%2==0] # 取偶数
print(y) # [0, 2, 4, 6]
y = [m + n for m in 'ABC' for n in 'XYZ']
print(y) # ['AX', 'AY', 'AZ', 'BX', 'BY', 'BZ', 'CX', 'CY', 'CZ']
y = [d for d in os.listdir('.')]
print(y) # 打印当前文件夹的文件
y = [x if x % 2 == 0 else -x for x in range(1, 11)]
print(y) # [-1, 2, -3, 4, -5, 6, -7, 8, -9, 10] 偶数打印奇数加负
#-----------------dict---------------
x = {'name':'bigstar', 'age':20, 'clas':'yinianji'}
print(type(x)) # dict
print(x['name']) # bigstar
print(x.keys()) # 取所有key值
print(x.values()) # 取所有value值
print(x.__contains__('name')) # 判断是否有此key值
(python初学者的点滴记录,仅供参考,不喜勿喷)