Python控制流
Python 有三种基本控制流:
- 顺序结构,一步一步按顺序直接进行下去;
- 条件分支结构:有分支有选择,如if语句;
- 循环结构:反复重复进行语句;
另外还有中断结构,用break和continue
IF语句
a = 1
if(a>7):
print(a)
elif(a<2):
print (a)
else:
print('nnn')
>>>1
# 可以用空格来代替括号
if a>7:
print(a)
elif a<2:
print(a)
else:
print('aaaa')
>>>1
循环语句
While Loop
a = 0
while(a<8):
print('fuck')
a+=1
>>>fuck
fuck
fuck
fuck
fuck
fuck
fuck
fuck
For Loop
a=['a','c','b','d']
for i in a:
#依次取a列表中的一个值
print(i)
>>>a
c
b
d
for i in range(0,10):
print(i)
#range(0,10)是从0开始,从9截至,步长默认为1一共10个数
>>>0
1
2
3
4
5
6
7
8
9
中断结构
常有break语句与continue语句
for i in range(0,10):
if(i==6):
continue #中断一次循环用continue语句
print(i)
>>>0
1
2
3
4
5 #少了6
7
8
9
for i in range(0,10):
if(i==6):
break #中断一个循环用break语句
print(i)
>>>0
1
2
3
4
5
乘法口诀
for i in range(1,10):
for j in range(1,i+1):
print(str(i)+'*'+str(j)+'='+str(i*j)+' ',end='') #end表示末尾
print()
>>>
1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
for i in range(1,10):
for j in range(1,10):
print(str(i)+'*'+str(j)+'='+str(i*j)+' ', end = '')
print()
>>>
1*1=1 1*2=2 1*3=3 1*4=4 1*5=5 1*6=6 1*7=7 1*8=8 1*9=9
2*1=2 2*2=4 2*3=6 2*4=8 2*5=10 2*6=12 2*7=14 2*8=16 2*9=18
3*1=3 3*2=6 3*3=9 3*4=12 3*5=15 3*6=18 3*7=21 3*8=24 3*9=27
4*1=4 4*2=8 4*3=12 4*4=16 4*5=20 4*6=24 4*7=28 4*8=32 4*9=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 5*6=30 5*7=35 5*8=40 5*9=45
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 6*7=42 6*8=48 6*9=54
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 7*8=56 7*9=63
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 8*9=72
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
作业 逆向输出乘法口诀
for i in range(1,10):
for j in range(1,11-i):
print(str(10-i)+'*'+str(j) + '=' + str((10-i)*j)+' ', end = '')
print()
>>>
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
4*1=4 4*2=8 4*3=12 4*4=16
3*1=3 3*2=6 3*3=9
2*1=2 2*2=4
1*1=1
Python的函数
函数的本质就是功能的封装。使用函数可以大大提高编程的效率与程序的可读性。
局部变量与全局变量
变量是有生效范围的,这个生效范围叫作作用域
全局变量:作用域从变量出现‘开始’到程序的‘最末’的变量叫作全局变量
局部变量:作用域只在局部的变量叫作局部变量’’’
作用域
i = 10 #全局变量
def func():
j=10
j+=1 #局部变量
print(j)
print(i)
func()
print(j)
>>>10
11
#i 是全局变量;j 是局部变量
#用 Global 可以把j变成局部变成全局
i = 10
def func():
global j
j=10
print(j)
func()
print(j)
>>>10
10
函数的定义和调用
def abc():
print('abcd#@#')
print('ddaw')
#函数的调用必须缩进到外面
abc()
>>>abcd#@#
ddaw
函数的参数
参数分为形参和实参,形式参数没有具体的值,实参有实际的值.
形参
def function1(a,b):
if(a>b):
print(a)
else:
print(b)
#a,b 没有具体的值
实参
function1(10,313)
>>>313
Python模块
- 按需求类别将一些常见的功能组合在一起,形成模块,实现一类的功能.
- 模块内的函数叫作方法.
- 系统自带的模块在安装目录的lib目录中.
模块的导入
- import 模块名 直接导入整个模块
- from … import … 导入模块中的一个方法
from urllib.request import urlopen #直接导入urlopen方法,可以直接使用
data3=urlopen('http://m.baidu.com').read()
print(len(data3))
>>>206636
#备注:导入时写的复杂一点比较好,使用的时候就会前缀少一点,简单一点
自定义Python模块
可以在lib里写一个python模块文件然后保存
比如:
在lib里建立一个文件叫作mymd.py
然后在mymd.py的文件里写入python语句:
def fuck():
return 'fuck off' #return会带有''
def fucku():
data = 'fuck off' #这种方式没有单引号
print(data)
然后执行下面的语句
import mymd
mymd.fuck()
from mymd import fuck
fuck()
>>>'fuck off' #return会带有''
mymd.fucku()
>>>fuck off #这种方式没有单引号
文件操作
可以使用Python程序对文件进行打开、关闭、读取、写入等操作
open('D:/file1.txt','w')
#如果不存在file1.txt可以直接新建并打开
#第一个参数是位置,第二个位置是打开方式有 r(read), w(write), wb(二进制,出问题概率小)
写入
fuck = open('D:/file2.txt','w') #可以赋给变量
fuck2=open('D:/file3.txt','w')
contents = 'fuck off bitch'
fuck.write('fuck')
fuck.write(contents)
fuck.close() #close以后才看的到内容
fuck2.close()
读取
data1=open('D:/file2.txt','r')
data2=data1.read() #必须加read()才能显示内容
print(data2)
>>>fuckfuck off bitch
sd
s
s
s
sd
s
ds
ds
d
d
sd
s
data1.close() #每次处理完记得close()
data1=open('D:/file2.txt','r')
data1.readline() #读取一行读取
line1 = data1.readline()
data1.close() #每次处理完记得close()
while True:
line = data1.readline()
if len(line)==0:
break
print(line)
data1.close() #每次处理完记得close()
>>>fuckfuck off bitch
sd
s
s
s
sd
s
ds
ds
d
d
sd
s
异常处理
python可以哪里断的直接跳过直接进行下去
try:
print('my')
printsssv('hi')
except Exception as er: #捕获异常
print(er) #直接输出异常
print('hello')
>>>my
name 'printsssv' is not defined
hello