1.转义: 右斜杠 \ 除: 左斜杠 /
2. 报错类型
print('hello') print(“hello”)
#中文圆括号、引号,出现以下错误
SyntaxError: invalid character in identifier(翻译:标识符中无效字符)
print(萨达) #不加引号,会出现以下错误
变量没定义
3.python代码块知识
- Python 的代码块不使用大括号 {} 来控制类,函数以及其他逻辑判断
- Python利用冒号和代码缩进来决定代码块范围
- 一个代码块语句内必须包含等量的缩进空白
4. Python 中的位与运算符是:&
位或运算符:|
位异或运算符: ^
位取反运算符:~
5.在算术运算符中使用%求余,如果除数是负数,那么取得的结果一定是0!
6.变量a被多次赋值并改变了数据类型,程序运行时不报错
a = 1
a = 'a'
print(a) #正常输出'a',不会报错
7.Python中的非法语句:
.
x=(y=z+1) SyntaxError: invalid syntax
8. 定义列表 x = [1,2,3,4]
9.列表相加 顺序不变
a = [1,3,5,7,9]
b = [2,4,6,8,10]
print(a+b) #输出--->[1,3,5,7,9,2,4,6,8,10]
10. 集合中添加元素 .add() 不能是.append()
11.列表排序 .sort() 括号内参数reverse默认是False,升序
当reverse= True ,降序
12.try中的‘t’是小写
13.关键字 in 用于测试一个对象是否是一个可迭代对象的元素。
14.从上到下,依次执行循环结构
n = s = 0
while n <= 98: #首先一直while循环直到n=99
n += 1
if n % 2 == 0: #n=99,99%2不等于0
s -= n
else:
s += n #s = 0+99 =99
print(s) #输出99
15. 当迭代中有两个相同的元素,遍历查找索引时,两次都是输出第一次出现的元素的索引
l = [3,5,3,6,5]
l2 = [l.index(i)for i in l if i ==3] # 查找元素为3的索引
l3 = [l.index(i)for i in l if i ==5] # 查找元素为5的索引
print(l2) #[0,0]
print(l3) #[1,1]
16.内外变量名相同,近者优先
ls = ["car", "truck"]
def funC(a):
ls = []
ls.append(a)
return
funC("bus")
print(ls) # ['car','truck']
17.int()第二个参数指定进制
n = int('11111', 2) # 二进制'11111'转换为十进制为:31
print(n) # 31
18.prin方法sep参数指定输出元素之间加的字符
print()
print(1,2,3,sep=':') # 1:2:3
19. isinstance() # 判断是否是一个已知类型的数据
print(isinstance('Hello world', str)) # True
print(isinstance(4j, (int, float, complex))) # 三个里面其中一个 就True
20.在Python 3.x中可以使用中文作为变量名。
智障 = 'ss'
print(智障)
21.在Python 3.5中运算符+不仅可以实现数值的相加、字符串连接,还可以实现列表、元组的连接和集合的并集运算。 集合不能用'+'求并集
lst1 = [1, 2, 3]
lst2 = [4, 5, 6]
lst = lst1 + lst2
print(lst) # [1, 2, 3, 4, 5, 6]
tup1 = (1, 2, 3)
tup2 = (4, 5, 6)
tup = tup1 + tup2
print(tup) # (1, 2, 3, 4, 5, 6)
set1 = {1, 2, 3}
set2 = {4, 5, 6}
set = set1 + set2 # 报错
print(set)
22.Python 3.x的range()函数返回一个range对象
s = range(1)
print(type(s)) # <class 'range'>
23.编写程序,生成包含1000个0到100之间的随机整数,并统计每个元素的出现次数。
方法一:
import random
l = [random.randint(1,100) for i in range(1000)]
s = set(l)
for i in s:
print(i,':',l.count(i))
方法二:
import random
l = []
def js():
global l
for i in range(1000):
n = random.randint(0, 100)
l.append(n)
js()
print(l)
s = set(l)
for i in s:
print(i,l.count(i))
24.编写程序,用户输入一个列表和2个整数作为下标,然后使用切片获取并输出列表中介于2个下标之间的元素组成的子列表。 例如用户输入[1, 2, 3, 4, 5, 6]和2,5,程序输出[3, 4, 5, 6]。
def qie():
lst = eval(input('请输入一个列表:'))
a = tuple(input('请输入两个数,并且以逗号隔开:'))
b = int(a[0])
c = int(a[2])
lst2 = lst[b:c+1]
print(lst2)
qie()
25.编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个元素降序排列,并输出结果。
import random
l = [random.randint(1,100) for i in range(20)]
l[:10] = sorted(l[:10])
l[10:] = sorted(l[10:],reverse=True)
print(l)
26.使用列表推导式生成包含10个数字5的列表,语句可以写为
l = [5 for i in range(10)]
print(l)
27.使用切片操作在列表对象x的开始处增加一个元素3的代码为
l = [1,2,4,5]
l[0:0] = 3 # 报错 TypeError: can only assign an iterable
l[0:0] = [3]
print(l)
28.语句sorted([1, 2, 3], reverse=True) == reversed([1, 2, 3])执行结果为
l = [1,2,3]
a = sorted(l, reverse=True) # 需要接收返回值
print(a)
b = reversed(l) # 没有返回值 接收到的是地址
print(b)
29.表达式sorted([111, 2, 33], key=lambda x: len(str(x)))的值为
l = sorted([111, 2, 33], key=lambda x: len(str(x)))# 根据长度排列
print(l)
l = sorted([111, 2, 33], key=lambda x: -len(str(x)))
print(l)
s = max([111, 22, 3], key=str) #askii码
print(s)
30.字典get方法,根据指定的键获取对应的值
print({1:'a',2:'b',3:'c'}.get(4,'d')) # 键不存在时,返回指定的值
31.python列表的sort方法返回None
x = [2,5,1]
x = x.sort(reverse=True)
print(x) # None
32.enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标
enumerate(sequence, [start=0]) 索引默认从零开始
x = [1, 2]
print(list(enumerate(x))) #[(0, 1), (1, 2)]
33.列表推导式双层迭代
lst = [[1, 2], [3, 4]]
lst2 = [[s[i] for s in lst] for i in range(len(lst[0]))]
print(lst2) # [[1, 3], [2, 4]]
34.x[:]前后相同
x = [1,2,3,4]
y = x[:]
print(y) # [1,2,3,4]