python学习笔记

数据类型

字符串

单引号,双引号包围都可
.upper()
.lower()
.title()
+:合并字符串
\n:换行符
\t:制表符
.strip():删除字符两端空白
.lstrip():删左端
.rstrip()
str():将非字符变为字符
int():将字符型数值转换为数值

数字

整数:支持四则等直接运算
浮点数

列表

由任意特定顺序元素组成,[]表示
列表长度:len()

创建数值列表
list(range(1,6))生成列表[1,2,3,4,5]
指定步长list(range(1,8,2))生成列表[1,3,5,7]
数值列表的运算:
min()求最小
max()
sum()
列表解析numbers=[n for n in range(1,10)]

访问元素:通过索引标号访问,索引-1访问列表最后一个元素,如lists[-1]
添加元素:
.append()在末尾添加元素,
.insert(索引,元素)在指定位置添加元素
删除元素:
del语句:del 元素
.pop()删除末尾的元素,.pop(索引)删除指定索引的元素
删除指定的值:remove(指定的值)
排序:
.sort()对列表元素按字母顺序永久性排序a~z,反序,将参数reverse=True
sorted()临时排序
.reverse()对列表元素永久性倒着进行排序

遍历列表

numbers=[1,2,3]
for n in numbers:
    print(n)

切片
numbers[0:3]包含0~2的3个元素的列表
[:3]包含除第3个之前的所有元素的列表
[3:]包含3之后所有元素的列表
[-3:]最后三个元素
复制

numbers1[1,2,3]
numbers2=numbers1 #两个列表是一个
numbers2=numbers1[:]#正确的复制方法

元组:值不能修改的列表,()表示

numbers=(1,2)
numbers[0]=3#错误
numbers=(3,4)#虽然元素不能修改,但是元组可以重新赋值

字典

一系列键值对,{}表示

dog={'alice':'1','bob':'2','ben':'3'}
#访问
dog['alice']
#添加
dog['kevin']='4'
#删除
del dog['alice']
#遍历.items()
for key,value in dag.items():
    print(key)
    print(value)
#遍历键.keys(),另外遍历字典,默认遍历所有键
#遍历值.values(),但是值有重复,可以使用集合set()去重
# 有序字典的使用
from collections import OrderedDict
OrderedDict()创建一个有序字典

判断

and or 连接多个条件
检查特定值是否在列表中:元素 in 列表 #不在用not in
if语句:if-elif-else

循环

break:中断所有循环,退出
continue:不再执行这次循环后的语句,进入下一次循环

输入

message=input("提示信息")#将输入的值赋值给了message

函数

def 函数名(传递参数):
    函数体
    return 返回值

#定义函数时,参数指定了默认值,调用函数时,采用了指定的方式
def pet(name="alice",age)
    print(name)
pet(name="ben",age=12)

#注意!传递列表参数时,如果不想改变列表本身,可以通过[:]传递列表副本
#形参使用*,如def 函数名(*传递参数),可以接受多个参数
#形参使用**,接受多个键值类型参数,如:
def pet(**descripe):
    ……
pet(name="alice",age=14)

#导入模块,如formulation.py文件下有函数pet,main.py中可以
import formulation#导入模块所有

formulation.pet()

from formulation import pet #导入特定函数

pet()
#导入模块所有函数
from formulation import *
#给导入模块起别名
import formulation as f

f.pet()
#给导入函数起别名
from formulation import pet as p #导入特定函数

p()

#定义
class Dog():
    """文档字符串"""
    def __init__(self,name,age):#特殊方法,约定,self必不可少且自动传参
        #所有方法都可以访问的变量属性
        self.name=name
        self.age=age
    def sit(self):
        print(self.name)
#继承
class BigDog():
    def __int__(self,name,age)
        #初始化父类属性
        super().__int__(name,age)
    #可以对父类方法进行重写
    def sit(self):
        print(self.age)
# 可以将实例作为属性
class Leg():
    def __int__(self):
    def broken(self):
        print("")
class Dog():
    def __init__(self,name,age):#特殊方法,约定,self必不可少且自动传参
        #所有方法都可以访问的变量属性
        self.name=name
        self.age=age
        self.leg=Leg()
    def sit(self):
        print(self.name)
#实例化
dog=Dog("alice",12)
dog.leg.broken()
#导入类与导入函数类似

文件操作

读取文件

with open('test.txt') as file_object:#返回file_object文件对象
    #读取所有
    contents=file_object.read()
    #逐行读取
    for line in file_object:
        print(line)
    #file_object.readlines()得到一个包含文件每行内容的列表

写入文件

默认以只读模式打开,r读,w写,a附加,r+读取和写入,w打开文件,将将文件清空且如果没有该文件,将自动创建
with open(filename,'w') as file_object:
    file_object.write("string")

异常处理

try:
except 异常:
pass#可以在异常发生时跳过
else:
#try之后运行

json使用

import json
#保存json格式的文件
with open(file.json,'w') as file_obj:
    json.dump(string,file_obj)
#导入json文件
with open(file.json) as file_obj:
    json.load(file_obj)

测试

import unitest
class NamesTestCase(unittest.TestCase)#继承这个类
    #每次它先执行,可以写,以提供一组预期答案
    def setUp(self):

    #定义测试方法
    def
        self.assertEqual(结果,预计)#断言,判断结果是否满足预期,还有assertNotEqual,assertIn,assertTrue等
uninttest.main()
posted @ 2021-01-11 16:51  启林O_o  阅读(93)  评论(0编辑  收藏  举报