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()对列表元素永久性倒着进行排序

遍历列表

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

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

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

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

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

字典#

一系列键值对,{}表示

Copy
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:不再执行这次循环后的语句,进入下一次循环

输入#

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

函数#

Copy
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()

#

Copy
#定义 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() #导入类与导入函数类似

文件操作#

读取文件

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

写入文件

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

异常处理#

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

json使用#

Copy
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)

测试#

Copy
import unitest class NamesTestCase(unittest.TestCase)#继承这个类 #每次它先执行,可以写,以提供一组预期答案 def setUp(self): #定义测试方法 def self.assertEqual(结果,预计)#断言,判断结果是否满足预期,还有assertNotEqual,assertIn,assertTrue等 uninttest.main()
posted @   启林O_o  阅读(97)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
点击右上角即可分享
微信分享提示
CONTENTS