PYTHON学习笔记
1.单引号和双引号
1.单引号和双引号的使用:将字符串包起来,需成对出现。当字符串中有单引号出现时,则选择双引号包裹字符串避免产生误会。
eg:print(‘les’s go !’)
SyntaxError: invalid syntax
print(“les’s go !”)
les’s go !
既有双引号又有单引号:用“\”转义字符
print(" “let’s go !” ")
“let’s go !”print(’“let’s go!”’)
“let’s go!”print(’“let is go !”’)
“let is go !”
\n:换行
print(‘i love China.\nme too !’)
i love China.
me too !
\:特殊转义字符 在字符串前面加r可以直接表示原字符串
print(“D:\three\two\one\now”)
D: hree wo\one
owprint(“D:\three\two\one\now”) #加双反斜杠,用魔法打败魔法
D:\three\two\one\nowprint(r"D:\three\two\one\now") #加双反斜杠太麻烦,直接在前面加r表示原始字符
D:\three\two\one\now
2.字符串的加法和乘法
‘520’+‘1314’
‘5201314’
3.比较运算符
is:判断两个对象的id是否想的美好
**Is not:判断两个对象的id是否不相等
4.循环
while条件:如果条件为真(ture)执行这里的语句
while 1<2:
print("love you ") #ctrl+c可强制停止
counts = 3
while counts > 0:
print(“love you”)
counts = counts-1
love you
love you
love you
break语句:跳出循环
counts = 3
while counts > 0:
print(“love you”)
counts = counts -1
Break #直接跳出循环
love you
5.数字类型
整数:
浮点数:使用科学计数法
0.0000005
5e-07
复数:实部和虚部都是浮点数
x = 1 + 2j
x.real #实部
1.0x.imag #虚部
2.0
6.计算
X//y:取比目标结果小的最大整数
X%y:取余数
Divmod(x,y):同时取地板除和取余数
-x:取相反数
+x:x本身
abs(x):返回绝对值 复数返回模值
x=1+2j
int(x):将x转换为整数 或打印字符串
int(3.1415926)
3int(‘5200’)
5200
float(x):将x转化为浮点数
float(520) #返回浮点数
520.0
complex(re,im):返回一个复数,re是实部,im是虚部
float(’+1E6’)
1000000.0complex(1+2j) #中间不能有空格
(1+2j)
pow(x,y):x的y次方
pow(2,3)
82**3
8
pow(x,y,z):x的y次方再对z取余
7.布尔类型:特殊的整数类型
定义为false的对象:none和false
值为0的数字类型:0,0.0,0j,decimal(0),fraction(0,1)
空的序列和集合:’’,(), [],{},set(),range(0)
1 == True
True0 == False
TrueTrue + False
1True - False
1True * False
0True / False #报错 除数不能为0
8.分支语句
9.逻辑运算符:与或非门
and:左边和右边同时为True,结果为True
or:任意一个为True,结果为True
not:操作数为True,结果为False
操作数为False,结果为True
注:python中任何对象都能直接进行真值测试(测试该对象的布尔类型值为True或者False),用于if或者while语句的条件判断,也可以做为布尔逻辑运算符的操作数。
3 and 4 #3的布尔类型是true 4的布尔类型是true 则输出4
44 or 5
4‘Fishc’ and ‘Love’
‘Love’‘Fishc’ or 250
‘Fishc’
10.短路逻辑:
从左到右,只有当第一个操作数的值无法确定逻辑运算的结果时,才对第二个操作数进行求值。(从左到右测试操作数的bool类型)
(not 1) or (0 and 1) or (3 and 4) or (5 and 6) or (7 and 8 and 9)
4
11.运算符优先级:
lambda<if-else<or<and<not x<in/not in/is/is not/</<=/>/>=/!=/== <|<^<&<
<</>> < +/- <*/@/ / /% <+x/-x <**(指数) <await x < x[index]/x[index,index]/x(arguments…)/x.attribute <(expressions…)/expression。
eg:
not 1 or 0 and 1 or 3 and 4 or 5 and 6 or 7 and 8 and 9
4
12.流程图
函数:
思维导图:
13.分支语句
(1)if语句:
1)判断这个条件,如果这个条件成立,就执行其包含的某条语句或某个代码
if conditions
Statement(s)
2)判断一个条件,如果条件成立,就执行其包含的某条语句或某个代码块;如果条件不成立,就执行另外的某条语句或某个代码块
if condition:
Statement(s)
else:
statement(s)
3)判断多个条件,如果第一个条件不成立,则继续判断第二个条件,如果第二个条件还不成立,则判断第三个条件…
if condition1:
statement(s)
elif condition2:
statement(s)
elif condition3:
statement(s)
…
4)在第三种的情况下添加了一个else,表示上面所有条件均不成立的情况下,执行某条语句或者某个代码块
5)条件表达式:条件成立时执行语句if condition else 条件不成立时执行的语句
6)断言(assert):当关键字后边的条件为假时,程序自动崩溃并抛出AssertionError的异常。
可以用其在程序中置入检查点,当需要确保程序中的某个条件一定为真才能让程序正常工作的话,assert关键字很有用。
(2)while条件:循环体
死循环可以被控制
(3)break():直接跳出循环体
(4)Continue:跳出本轮循环,若条件允许,则可能还会进入循环。
(5)while else
(6)循环嵌套体:
(7)for i in range():
14.列表:
(1)
y=[1,2,3,4,5,“la”]
y
[1, 2, 3, 4, 5, ‘la’]
for each in y:
print(each)
1
2
3
4
5
la
y[0]
1y[2]
3
(2)切片
y[0:3]
[1, 2, 3]y[3:6]
[4, 5, ‘la’]y[0:6:2]
[1, 3, 5]y[::2]
[1, 3, 5]y[:]
[1, 2, 3, 4, 5, ‘la’]y[-1]
‘la’y[::-1] #倒序输出
[‘la’, 5, 4, 3, 2, 1]y[::-2]
[‘la’, 4, 2]
(3)
15.字典:
(1)字典上
模块:random模块
import random
random.randint(1,10) #产生1到10之间的任意随机数
2