2019-11-29 Python3 学习笔记

Python控制流

Python 有三种基本控制流:

  1. 顺序结构,一步一步按顺序直接进行下去;
  2. 条件分支结构:有分支有选择,如if语句;
  3. 循环结构:反复重复进行语句;
    另外还有中断结构,用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模块

  1. 按需求类别将一些常见的功能组合在一起,形成模块,实现一类的功能.
  2. 模块内的函数叫作方法.
  3. 系统自带的模块在安装目录的lib目录中.

模块的导入

  1. import 模块名 直接导入整个模块
  2. 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值