Python变量和简单数据:
1.字符串
(1)单引号中,某些符合需要用转义,双引号中则不存在这个问题
(2)字符串的方法:title() : 首字母大写
upper() :全部转换为大写字母
lower() :全部转换为小写字母
rstrip() :删除字符串右边的空白
lstrip() :删除字符串左边的空白
strip() :删除字符串两边的空白
(3)编码:对于单个字符的编码,ord()函数获取字符的整数表示,chr()把编码转换为对于的字符;Unicode则通过encode() decode()
2.数字:
(1)整数:加(+)减(-)乘(*)除(/)求模运算符(%)返回余数
(2)浮点数:包含小数位数可能是不确定的
(3)3/2 = 1.5 3//2=1
Python列表和元组:
1.列表序列.index(数据, 开始位置下标, 结束位置下标)
2.列表.count():统计指定数据在当前列表中出现的次数
3.len(列表名):访问列表长度,即列表中数据的个数
4.in:判断指定数据在某个列表序列,如果在返回True,否则返回False
5.列表序列.append(数据):如果append()追加的数据是一个序列,则追加整个序列到列表
6.列表序列.extend(数据):列表结尾追加数据,如果数据是一个序列,则将这个序列的数据逐一添加到列表
7.列表序列.insert(位置下标, 数据)
8.del(列表序列)删除列表 del(列表序列[0])删除指定下标数据
9.列表序列.pop(下标):删除指定下标的数据(默认为最后一个),并返回该数据。
10.列表序列.remove(数据):移除列表中某个数据的第一个匹配项
11.clear:清空列表
12.修改指定下标数据 name_list[0] = 'aaa'
13.列表序列.reverse() 逆置逆序
14.列表序列.sort( key=None字典, reverse=False(默认升序)) 永久排序
15.sorted()对列表元素进行临时排序
16.列表序列.copy() 列表复制
17.range(x,y,z)生成范围数numbers = list(range(1,6))
第三个数字z是代表步长。如果不设置,就是默认步长为1
18.min(取最小)max(取最大)sum(求和)avg(求平均)
19.切片:
(1)L[0:3]:表示从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2
(2)L[:9]:前九个数
(3)L[-10:]:后十个数
(4)L[:10:2]:前10个数,每两个取一个
20.print("列表解析",[i**2 for i in range(10)])
Python字典:
1.新增内容:写法:字典序列['key']=值(字典无下标)
2.删除内容:del dict['key']
3.清空字典: clear()
4.字典序列.get(key, 默认值)如果当前查找的key不存在则返回第二个参数(默认值),否则返回None。
5.字典序列.keys()返回所有的key名,返回可迭代对象
6.字典序列.values()返回所有的value值,返回可迭代对象
7.字典序列.items()返回所有的键值对,返回可迭代对象
8.字典的循环遍历
(1)遍历字典的key
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key in dict1.keys():
print(key)
(2)遍历字典的value
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for value in dict1.values():
print(value)
(3)遍历字典的元素
for item in dict1.items():
print(i)
(4)遍历字典的键值对
dict1 = {'name': 'Tom', 'age': 20, 'gender': '男'}
for key, value in dict1.items():
print(f'{key} = {value}')
9.顺序遍历for k in sorted(dict1.keys()):
Python函数:
1.定义函数:>>> def my_abs(x):
... if x >= 0: ... return x
... else: ... return -x
>>> my_abs(-9) 结果:9
>X是形参 (-9)是实参
2.函数返回值:位置对应
3.传递参数:
(1)位置参数:必须传递
(2)默认参数:该参数具有默认值
(3)可变参数:定义——def person(*k) ;使用——person(1,2,3) or lists =[...] person(*list)
(4)关键字参数:传递给函数的名称-值对 例:定义——def person(**kw) ; 使用——person(city = 'Beijing')
(5)命名关键字参数:定义——def person(*,name,age) ;使用—— person(name='Alice',age = 12)
(6)参数定义顺序:必选参数,默认参数,可变参数,命名关键字参数,关键字参数
4.递归函数:(注意跳出条件,防止无休止递归,逻辑清晰,但过深的调用会导致栈溢出)
Python类:
1.建类:所有类最终都会继承object类
class People(object):
def __init__(self,name,score):
self.name = name
self.score = score
有了__init__方法,在创建实例的时候,就不能传入空的参数
2.init()包含多个形参:self+其他形参,并且给属性指定默认值
3.给子类定义属性和方法 super().__init__()
4.导入类
(1)从一个模块导入一个或多个类:from module_name import name1,name2, ...
(2)导入模块:import module_name
(3)导入模块中所有类:from module_name import *
Python文件异常和测试:
1.文件读写
(1)with open('文件.txt') as 简化名字:
(2)read()取文件的全部内容
(3)rstrip()删除最后多出来的空行
(4)strip()删除左边的空格
(5)逐行读取:with open(filename) as file_object:
for line in file_object:
print(line)
(6)with open('文件.txt', 'w') as 简化名字: 读取模式 ('r' )、写入模式 ('w' )、附加模式 ('a' )或让你能够读取和写入文件的模式('r+' )
(7).write()将一个字符串写入文件, 不会在你写入的文本末尾添加换行符
2.文件异常
(1)try-except处理ZeroDivisionError异常(除数为0)
(2)try-except处理FileNotFoundError异常(找不到文件)
(3)split()一个字符串创建一个单词列表,以空格为分隔符将字符串分拆成多个部分,并将这些部分都存储到一个列表中
(4)count() 确定特定的单词或短语在字符串中出现了多少次例如:line.lower().count(使用lower() 将字符串转换为小写,可捕捉要查找的单词出现的所有次数,而不管其大小写格式如何)
(5)json.dump() 接受两个实参:要存储的数据以及可用于存储数据的文件对象
(6)json.load(存储数据的文件对象)
3.测试
(1)单元测试
01.import unittest
02.让类继承自unittest.TestCase(class TestCase(unittest.TestCase):)
03.以test开头为测试方法(def test(self))
04.通过断言进行判断
05.通过 unittest.main() 运行单元测试
(2)各种断言方法
01.assertEqual(a,b)核实a == b
02.assertNotEqual(a,b)核实a != b
03.assertTrue(x)核实x 为True
04.assertFalse(x)核实x 为False
05.assertIn(item,list)核实item 在list 中
06.assertNotIn(item,list) 核实item 不在list 中
(3)SetUp 与 tearDown两个方法分别在每调用一个测试方法的前后分别被执行,setup()方法中连接数据库,在teardown()方法中关闭数据库