1.上周回顾
list
a = []
a.append('xx')
a.insert(0,'sdf')
a.reomve('xxx')
a.pop(0)
a[0]
字典
dic = {}
dic['username'] = 'wufenghong'
{'username':'wufenghong'}
dic.pop('username')
dic.get('dfsdf') None
dic['dfsdf'] 报错
元组
t = ('sdf',)
t.count()
t.index()
字符串方法
''.strip()
''.split()
'sdfsdf,sdfsd234,sdfs23'.split(',')
''.upper()
''.lower()
'sdf'.count('ss')
names = ['wfh','lyj']
','.join(names)
'.jpg'.endswith() True
'xxx'.startswith()
'xx'.isdigit()判断是不是纯数字
文件读写
f = open('xx','')
r r+
w w+
a a+
f.seek(0)
f.read() 读取文件里面所有的内容,返回的是字符串
f.readline()只读一行的内容,返回的字符串
f.readlines()读取文件里面所有的内容,返回的是一个list
list里面每个元素是每行的数据
f.write('xxx')只能写字符串
f.writelines()写可迭代对象
f.tell() 获取当前文件指针的位置
f.close()
2.文件操作
f.flush() 立即把缓冲区里面的内容写到磁盘里面
不用谢close 直接读取文件然后关闭文件
with open('a.txt','w') as gy , open('b.txt') as gy2:
gy.write('hhh')
gy2.write('sdfs')
rb 读二进制文件
wb 写二进制文件
ab 追加
3.集合
集合,天生去重
s = set() 空的集合
s2 = {'1','2','3','4'}
s3 = {'1','2','5'}
集合是无序的,所以没有办法通过下标取值
s2.add('1') 添加值
s2.remove('1') 删除值
s2.pop()随机删一个值
print(s2)
print(s3.intersection(s2)) 取交集
print(s3 & s2)取交集
print(s3.union(s2))取并集
print(s3|s2)取并集
print(s2.difference(s3)) 在s2中存在,在s3中没有的
print(s2 - s3) 取差集
交集
并集
差集
4.函数
函数 方法 功能
说白了,函数就是把一堆代码组合到一起,变成一个整体。
函数不调用不会被执行
提高代码的复用性
全局变量、局部变量
def hello(file_name,content=''): 形参,形式参数
函数里面的变量都是局部变量
f = open(file_name, 'a+',encoding='utf-8')
if content:
f.write(content)
res = ''
else:
f.seek(0)
res = f.read()
f.close()
return res
users = hello('tlx.txt')
print(users)
ybq = hello('ybq.txt','1223332423')
print(ybq)
形参
实参
位置参数,必填参数
默认值参数,不是必填的,
返回值
如果想获取到函数的结果,那么必须return
如果函数没有写return的话,返回值是None,return不是必须写的,需要获取到函数的
返回结果再写。
return 立即结束函数
a = 100 全局变量
def test():
global a 声明全局变量
a = 5
print('里面的',a)
test()
print('外面的',a)
小练习
money = 500
def test(consume):
return money - consume
def test1(money):
return test(money) + money
money = test1(money)
print(money)
写一个校验字符串是否为合法的小数
0.88
-0.99
s . 1
1、小数点的个数,小数点的个数 1
2、按照小数点分割
def check_float(s):
s = str(s)
if s.count('.') == 1:
s_list = s.split('.') [1,5] [-s,55]
left = s_list[0] -s ['','s']
right = s_list[1]
if left.isdigit() and right.isdigit(): 正小数
return True
elif left.startswith('-') and left.count('-')==1:负小数
if left.split('-')[-1].isdigit() and right.isdigit():
return True
return False
5、递归
递归 自己调用自己
count = 0
def test1():
num = int(input('please enter a number:'))
global count
count+=1
num = 8
if num % 2 == 0: 判断输入的数字是不是偶数
pass
print(count)
return test1() 如果不是偶数的话继续调用自己,输入值
print(test1()) 调用test
用递归能实现的用循环都能实现,最好别用递归。
递归最多能递归999次。
6、模块
一个python文件就是一个模块
1、标准模块
python自带的,不需要你安装的
2、第三方模块
需要安装,别人提供的。
pip install xxx 自动化安装的
手动安装
首先下载安装包
解压
在命令行里面进入到这个解压之后的目录
执行python setup.py install
3、自己写的
自己写的python文件
import xx 导入一个文件 ,导入文件的实质是什么,把这个python运行一次
import hahaha
import 在导入文件的时候,首先从当前目录下找这个文件。
然后从python的环境变量里面找
就是让一个命令,不管在哪个目录下都可以执行
浙公网安备 33010602011771号