1.1 整数
1.2 浮点数
1.3 字符串
>>> print(```line1...line2... line3```)line1line2line3
1.4 布尔值
布尔值运算规则如下:
1.5 空值
1.6 变量
a = 123 #a是整数,即a指向整数123a= "ABC" #将a赋值成字符串,即a指向字符串"ABC"b = a #将b指向a所指向的数据("ABC")a = "XYZ" #将a指向字符串"XYZ"print(b) #打印b将打印"ABC"而不是"XYZ"
变量a="ABC"赋值中,Python解释器处理了以下事项:
1.7 常量
Python的除法:
1.8 总结
2.1 字符编码
2.2 字符编码使用场景
浏览网页的时候,服务器会把动态的生成的Unicode内容转换为UTF-8再传输到浏览器,所以很多网页的源码上会有类似的信息,表示该网页正是用的UTF-8编码.
2.3 Python的字符串
>>> ord('A')65>>> ord('中')20013>>> chr(66)'B'>>> chr(25991)'米'
如果知道字符的整数编码,可以用十六进制写str:
>>> '\u4e2d\u6587''中文'
2.4 字符串(编码)转换
Python对bytes类型的数据用带b前缀的单引号或双引号表示:
x = b'ABC'
2.4.1 encode()[str→bytes]
>>> 'ABC'.encode('ascii')b'ABC'>>> '中文'.encode('utf-8')b'\xe4\xb8\xad\xe6\x96\x87'#错误例子>>> '中文'.encode('ascii') Traceback (most recent call last): File "<stdin>", line 1, in <module>UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128)
2.4.2 decode()[bytes→str]
>>> b'ABC'.decode('ascii')'ABC'>>> b'\xe4\xb8\xad\xe6\x96\x87'.decode('utf-8')'中文'#错误例子>>> b'\xe4\xb8\xad\xff'.decode('utf-8')Traceback (most recent call last): ...UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 3: invalid start byte
如果bytes中只有一小部分无效的字节,可以传入errors='ignore'忽略错误的字节:
>>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')'中'2.4.3 len() 对于str类型len()计算的是字符数,对于bytes类型len()计算的是字节数.#对于str类型>>> len('ABC')3>>> len('中文')2#对于bytes类型>>> len(b'ABC')3>>> len(b'\xe4\xb8\xad\xe6\x96\x87')6>>> len('中文'.encode('utf-8'))6
12 #!/usr/bin/env python3# -*- coding: utf-8 -*-
2.5 格式化
2.5.1 %的方式
占位符 替换内容%s 字符串%d 整数%f 浮点数%x 十六进制整数
例如:
>>> 'Hello, %s' % 'world''Hello, world'>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)'Hi, Michael, you have 00000.'#整数和浮点数>>> print('%2d-%02d' % (3, 1))>>> print('%.2f' % 3.1415926)# %s的通用性>>> 'Age: %s. Gender: %s' % (25, True)'Age: 25. Gender: True'#转义字符串中的%>>> 'growth rate: %d %%' % 7'growth rate: 7 %'
2.5.2 format()
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)'Hello, 小明, 成绩提升了 17.1%'3. list和tuple类型3.1 list
3.1.1:list的定义
>>> classmates = ['Michael', 'Bob', 'Tracy']>>> classmates['Michael', 'Bob', 'Tracy']
3.1.2 len()
用len()函数可以获得list元素的个数
12 >>> len(classmates)3
3.1.3 list的索引
3.1.4 list元素增删
123 >>> classmates.append('Adam')>>> classmates['Michael', 'Bob', 'Tracy', 'Adam']
3.1.4.2 指定位置插入元素
>>> classmates.insert(1, 'Jack')>>> classmates['Michael', 'Jack', 'Bob', 'Tracy', 'Adam']
3.1.4.3 删除末尾元素
>>> classmates.pop()'Adam'>>> classmates['Michael', 'Jack', 'Bob', 'Tracy']
3.1.4.4 删除指定位置元素
用pop(i)的方法,i为索引值
>>> classmates.pop(1)'Jack'>>> classmates['Michael', 'Bob', 'Tracy']
3.1.4.5 替换元素
即直接给对应索引的元素重新赋值.
>>> classmates[1] = 'Sarah'>>> classmates['Michael', 'Sarah', 'Tracy']
3.1.5多维list
>>> s = ['python', 'java', ['asp', 'php'], 'scheme']>>> len(s)4
3.1.6 空list
空list即一个元素也没有,长度为0.
123 >>> L = []>>> len(L)0
3.2 tuple
3.2.1 tuple的定义
#以下是单元素tuple的定义>>> t = (1,)>>> t(1,)#以下是小括号运算>>> t = (1)>>> t1
3.2.2 特别说明
>>> t = ('a', 'b', ['A', 'B'])>>> t[2][0] = 'X'>>> t[2][1] = 'Y'>>> t('a', 'b', ['X', 'Y'])
示意图:
4.1 dict
4.1.1 dict的定义
//dict的赋值>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}>>> d['Michael']95//dict元素的赋值>>> d['Adam'] = 67
4.1.2 dict的查找
#key不存在的报错>>> d['Thomas']Traceback (most recent call last): File "<stdin>", line 1, in <module>KeyError: 'Thomas'#in方式检查key是否存在>>> 'Thomas' in dFalse#get()方法检查key是否存在>>> d.get('Thomas')>>> d.get('Thomas', -1)-1
4.1.3 dict的删除
>>> d.pop('Bob')75>>> d{'Michael': 95, 'Tracy': 85}
4.1.4 特别说明
dict的特点:
对比list的特点:
4.2 set
4.2.1 set的定义
>>> s = set([1, 2, 3])>>> s{1, 2, 3}#如果有重复元素会自动过滤掉>>> s = set([1, 1, 2, 2, 3, 3])>>> s{1, 2, 3}
4.2.2 set的添加和删除
>>> s.add(4)>>> s{1, 2, 3, 4}>>> s.add(4)>>> s{1, 2, 3, 4}
通过remove(key)方法可以删除元素.
>>> s.remove(4)>>> s{1, 2, 3}
4.2.3 set的交集和并集
>>> s1 = set([1, 2, 3])>>> s2 = set([2, 3, 4])#交集>>> s1 & s2{2, 3}#并集>>> s1 | s2{1, 2, 3, 4}
4.3 不可变对象
>>> a = 'abc'>>> b = a.replace('a', 'A')>>> b'Abc'>>> a'abc'
5.1 if格式
if <条件判断1>: <执行1>elif <条件判断2>: <执行2>elif <条件判断3>: <执行3>else: <执行4>
age = 20if age >= 6: print('teenager')elif age >= 18: print('adult')else: print('kid')
5.2 条件简写
if x: print('True')只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False.5.3 input()使用s = input('birth: ')birth = int(s)if birth < 2000: print('00前')else: print('00后')
6.1 for循环
for…in循环,即把list或tuple中的每个元素迭代出来,执行后续操作.
names = ['Michael', 'Bob', 'Tracy']for name in names: print(name)
Python提供一个range(x)函数,生成0-(x-1)的整数序列.
>>> list(range(5))[0, 1, 2, 3, 4]//求和运算sum = 0for x in range(101): sum = sum + xprint(sum)
6.2 while循环
while循环,只要条件满足,就不断循环,条件不满足时退出循环.
sum = 0n = 99while n > 0: sum = sum + n n = n - 2print(sum)
6.3 break
在循环中,break语句可以提前退出循环.
n = 1while n <= 100: if n > 10: # 当n = 11时,条件满足,执行break语句 break # break语句会结束当前循环 print(n) n = n + 1print('END')
6.4 continue
n = 0while n < 10: n = n + 1 if n % 2 == 0: # 如果n是偶数,执行continue语句 continue # continue语句会直接继续下一轮循环,后续的print()语句不会执行 print(n)
如果你觉得文章还不错,请大家 点赞、分享、收藏、留言,创作不易,因为这将是我持续输出更多优质文章的最大动力!