Python day1
基本语法
字符串
转义字符
- ‘ \ ’——加在前面
- ‘ \ ’——加在后面就代表这行还没结束
原始字符串
- 在字符串前面加上’r’
长字符串
- 前后用三个引号‘’‘ ’‘’ 或者““” “”“
- 这样就不需要反斜杠\来换行了
字符串的加减法
-
运用加减法进行拼接
-
运用乘法进行复制
print("i love you 3000\n" * 3000)
random 模块
randint
import random
a = random.randint(0,10)
# 随机生成一个0到10之间的数
浮点数
-
浮点数是有误差的
-
e.g
0.1 + 0.2 > 0.3 # True # 因为计算结果是0.300000000004
-
这个时候需要精确计算就用decimal模块
E记法(科学计数法)
- 0.00005
- 5e-05(5乘以10的5次方)
复数
-
形似 1 + 2j
1 为实部, 2 为虚部
-
x = 1 + 2j print(x.real) print(x.imag) # 1.0 # 2.0
decimal 模块
Decimal
import decimal
a = decimal.Decimal('0.1')
b = decimal.Decimal('0.2')
print(a + b)
# 结果是0.3
计算
地板除(\\)
- 两数相除结果的最小整数
divmod
- 返回(x \\ y, x % y)
布尔类型
逻辑运算符
短路逻辑
运算优先级
分支和循环
分支结构
循环
while
-
count = int(input("count:")) while count > 0: print("hello world") count -= 1
for
-
-
for i in "wuxinnissy": print(i) #w #u #x #i #n #n #i #s #s #y
-
sum = 0 for i in range(10): sum += i i += 1 print(sum) print(sum)
range
-
-
for i in range(0,10,2): print(i)
-
tips: 这个stop是不会被算进去的,他到stop就停了
所以如果你要0-10的数,那么range(0,11)
-
例子:
"""素数""" for i in range(2, 10): for j in range(2, i): if i % j == 0: print(i, '=', j, '*', i // j) break else: print(i, "是素数")
break
- 跳出循环体
- 每次只跳出一层循环体
continue
- 跳出但是不是直接结束
else 语句
- 当循环条件不再为真的时候,else 语句才会被执行
- 所以如果是break跳出循环体的话,此时条件为真,所以else语句不会执行
- 作用:检测循环体退出的情况
列表
创建列表
-
中括号
arr = [1,2,3,4,5,"wuxin"]
列表切片
-
arr = [1,2,3,4,5,"wuxin"] print(arr[0:3]) # [1,2,3]
-
增删查改
增
append
- 只能加一个
heros=['flash','window','batman']
print(heros)
heros.append('superman')
print(heros)
结果
['flash', 'window', 'batman']
['flash', 'window', 'batman', 'superman']
extend
- extend()的参数必须是一个可迭代对象,直接加在后面
heros.extend(['wonderwoman', 'iron man','spiderman'])
print(heros)
结果:
['flash', 'window', 'batman']
['flash', 'window', 'batman', 'superman']
['flash', 'window', 'batman', 'superman', 'wonderwoman', 'iron man', 'spiderman']
切片
-
也是直接加在后面
heros[len(heros):]=['1','2','3'] print(heros)
结果
['flash', 'window', 'batman', 'superman', 'wonderwoman', 'iron man', 'spiderman', '1', '2', '3']
insert
-
可以在任意位置处插入
-
insert(位置,元素)
-
heros.insert(2,'wuxinnissy') print(heros)
结果
['flash', 'window', 'wuxinnissy', 'batman', 'superman', 'wonderwoman', 'iron man', 'spiderman', '1', '2', '3']
删
remove
-
remove的参数只能是元素
-
remove(元素)
-
heros.remove('superman') print(heros)
结果
['flash', 'window', 'wuxinnissy', 'batman', 'wonderwoman', 'iron man', 'spiderman', '1', '2', '3']
pop
-
指定位置删除
-
pop(位置)
-
heros.pop(1) print(heros)
结果
['flash', 'wuxinnissy', 'batman', 'wonderwoman', 'iron man', 'spiderman', '1', '2', '3']
clear
-
全部删除
-
clear()
-
heros.clear() print(heros)
结果
[]
改
替换元素
-
heros.extend(['wonderwoman', 'iron man','spiderman']) print(heros) heros[2]='superman' print(heros) heros[1:]=['1','2'] print(heros)
结果
['wonderwoman', 'iron man', 'spiderman'] ['wonderwoman', 'iron man', 'superman'] ['wonderwoman', '1', '2']
sort
-
num=[3,2,5,3,5,6,1,3,4,5,6,] num.sort() print(num)
结果
[1, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6]
reverse
-
num.reverse() print(num)
结果
[6, 6, 5, 5, 5, 4, 3, 3, 3, 2, 1]
count
-
数一数一共有几个这种元素
-
count(元素)
-
heros = ['flash', 'window', 'batman'] print(heros) print(heros.count('flash'))
-
['flash', 'window', 'batman'] 1
index
-
查找元素所在位置下标,如果相同元素的话返回第一个元素所在位置
-
index(元素,start, end)
-
heros = ['flash', 'window', 'batman'] print(heros) print(heros.count('flash')) print(heros.index('flash')) heros[heros.index('flash')] = 'wuxinnissy' print(heros)
['flash', 'window', 'batman'] 1 0 ['wuxinnissy', 'window', 'batman']
copy
-
拷贝列表
-
heros = ['flash', 'window', 'batman'] fakeheros = heros.copy() print(fakeheros)
-
也可以用切片实现
fakeheros1 = heros[:] print(fakeheros1)
['flash', 'window', 'batman'] ['flash', 'window', 'batman']
列表加减乘
-
加减法也就是列表的拼接
num1 = [1, 2, 2] num2 = [2, 3, 4] print(num1 + num2)
[1, 2, 2, 2, 3, 4]
嵌套列表
-
martix = [[1, 2, 3], [2, 3, 4], [3, 4, 5]] print(martix) for i in martix: for each in i: print(each, end=' ') print()
-
[[1, 2, 3], [2, 3, 4], [3, 4, 5]] 1 2 3 2 3 4 3 4 5
-
tips:这里print()自带换行,所以把使用==end=’ '==这样的语句把换行改掉
-
用循环创建
-
A=[0]*3 for i in range(3): A[i] =[0]*3 print(A)
-
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
is运算符
-
同一性运算符:用于检验两个变量是否指向同一个对象
[2, 3, 4],
[3, 4, 5]]
print(martix)
for i in martix:
for each in i:
print(each, end=’ ')
print() -
[[1, 2, 3], [2, 3, 4], [3, 4, 5]] 1 2 3 2 3 4 3 4 5
-
tips:这里print()自带换行,所以把使用==end=’ '==这样的语句把换行改掉
-
用循环创建
-
A=[0]*3 for i in range(3): A[i] =[0]*3 print(A)
-
[[0, 0, 0], [0, 0, 0], [0, 0, 0]]
is运算符
- 同一性运算符:用于检验两个变量是否指向同一个对象