1.命名
文件命名最好以小写字母,数字,下划线 不能以数字开头
2.单行注释
#开头 快捷键 ctrl+/ 为了代码整齐,官方推荐#后加一个空格 TODO注释 # TODO xxx 用于标记需要去做的的工作
3.多行注释
""" 注释内容 """
4.格式化符号
%s 字符串 %d 十进制整数,注:%06d表示如果不足6位,补0,输出6位整数 %f 浮点型,注:%.2f表示小数点后面显示2位 %% 输出%
5.变量命名
字母,下划线,数字 不能以数字开头 不能与关键字重名
6.随机数
import random random.randint(1,10) #生成1<=整数<=10随机数
7.break 和 continue
break 退出循环 continue 回到条件继续执行
8.禁止换行
print("*", end="") end里的内容替换原来的换行
9.\t 空格,垂直方向对其
\n 换行 \ 转义,在""中加一些特殊符号,如"
10.函数
定义函数 def A():xxx 导入函数文件 import 文件名 调用函数 文件名.A() 传入参数 def A(a,b):xxx 设置默认值,需要在末尾 def A(a,b=xxx):xxx
11.列表(数组)
list=['A','B','C','B'] 定义 list[0] 取值 list.index['B'] 获取B的索引 修改 list[1]="D" 修改 增加 list.append("E") 列表中插入列表 list.insert(1,"E") 指定索引插入数据 list.extend(list2) 末尾追加数据 删除 list.remove("B") 删除指定元素,删除第一处的数据 list.pop() 默认删除末尾元素 list.pop(3) 指定索引删除 list.clear() 清空列表 del 列表/变量 从内存中删除,消失(不建议使用) len(列表名) 获取列表元素个数 list.count("B") 获取某个元素出现的次数 排序 列表.sort() 升序 列表.sort(reverse=True) 降序 列表.reverse() 逆序
12.for循环
for name in list:xxx else: for循环结束会执行,当循环break时,不会执行else的代码
13.元组
与列表类似,但是元组元素不能被修改 tuple=("A","B","C") 定义 tuple[1] 获取 tuple(1,) 定义一个元素元组 元组只有2个方法 count,index
14.类型转换
int(xxx) 转换位整数 str(xxx) 转换为字符串 tuple(list) 列表转换为元组 list(tuple) 元组转换为列表
15.字典dict(key:value)
people={"name":"小明","age":18,xxx} 定义 people["name"] 取值 people["height"]=1.75 添加/修改 people.pop["name"] 删除 合并字典,key一样会覆盖原有的键值对 (1).字典1.update(字典2) (2).{**字典1, **字典2} people.clear() 清空字典 for循环字典 for key in people: print("%s=>%s"%(key,people[key]))
16.列表+字典
list=[{"name":"小明"}, {"age":19}, {"height":1.8}]
17.字符串方法
str.isspace() 是否只包含空白字符 str.startswith("xxx") 是否以xxx字符开始 str.endswith("xxx") 是否以xxx字符结尾 str.find("xxx") 找到xxx字符出现位置的索引 => str.index("xxx") 不能存在则返回-1 str.replace("a","b") 字符串b替换a 文本对齐 str.ljust(10," ") 居左对齐 str.rjust(10," ") 居右对齐 str.center(10," ") 居中对齐
18.去除空白字符
str.strip() 去除所有的空白字符 str.lstrip() 去除左边的空白字符 str.rstrip() 去除右边的空白字符
19.拆分字符串
str.split("xx") 以xx字符拆分字符串成列表,默认以空白字符拆分 合并字符串 "".join(list) 以""合并列表的字符串 字符串/列表/元组切片 str[开始的索引:结束的索引] str[开始:结束:x] 每隔x切一刀 str[::-1] 逆序
20.合并列表
[1,2]+[3,4] => [1,2,3,4] list.extend([3,4]) => [1,2,3,4] list.append([3,4]) => [1,2,[3,4]]
21.in和not in
"a" in str 判断str是否包含a字符,返回true,false "a" not in str 判断str是否不包含a字符,返回true,false
22.捕获异常
try: except: 有错误执行 else: 没错误执行 finally: 代码运行结束执行
23.pass关键字
pass表示占位符
24.全局变量
global 变量名 设置全局变量后,改局部全部变量跟着改动 命名 加g_或gl_前缀
25.交换
a,b=b,a 交换a,b变量的值
26.导入模块
import 模块名1,模块名2 不推荐,应该一个个导入 如果模块名太长,可以指定别名 import 模块名 as 别名 只需要导入模块部分功能 from 模块名 import 功能名 导入部分 from 模块名 import * 导入所有
27.导入包
(1)a目录下有x.py和y.py模块 (2)__init__.py 入口文件 form . import x form . import x (3)导入 import a
28.文件操作
打开文件 file = open("文件路径","访问方式",encoding='UTF-8') 访问方式 r 只读(默认) w 只写,文件原本内容被覆盖,文件不存在,创建 a 只写,不覆盖原本文本内容,文件不存在,创建 读取文件 text = file.read() 单行读取文件 text = file.readline() 写入文件 file.write(要写入的 内容) 关闭文件 file.close()
29.eval函数
会使字符串以算数运行格式输出结果 eval("1+1") => 2
30.if name=‘main’:xxx作用
运行直接模板时调用xxx内容 作用: 主要用于放置一些调试代码 防止代码被执行2次
31.range函数
>>> range(1,5) #代表从1到5(不包括5) [1, 2, 3, 4] >>> range(1,5,2) #代表从1到5。间隔2(不包括5) [1, 3] >>> range(5) #代表从0到5(不包括5) [0, 1, 2, 3, 4]
32.join()函数
将列表/元组/字典合并成字符串 "x".join(y) 用x(可以为空)作为分隔符,将y合并成字符串
33.设置编码
import sys reload(sys) sys.setdefaultencoding("utf-8") # TODO 面向对象
1.类
定义类 class 类名(object): 如果定义类没有父类,建议统一加上object,py3会默认加上 def 方法1(self,xxx): pass def 方法2(self,xxx): pass 使用类/创建对象 a=类名() a.方法名() 调用类中方法 a.name 获取属性
2.初始化方法
class 类名: def __init__(self,name):xxx 当类被调用时会自动调用该方法 self.name=name 在初始方法中定义的属性可以被其他方法(self.name)调用
3.__del__方法
当对象被销毁前,自动被调用
4.伪私有方法,属性
self.__age=xxx 私有属性 def __方法名:xxx 私有方法
5.继承
class 类名(父类名1,父类名2): pass 重写 子类中重写了父类的方法,则会覆盖父类的方法 def 要重写的父类方法名: xxx super().重写的父类方法名() 保留父类方法
6.python 中一切皆对象
类也是一种特殊的对象 类里也可以加属性 属性名=xxx 调用 类名.属性名
7.静态方法
@staticmethod def 方法名():xxxx
8.arg,*args,**kwargs
定义 def a(arg,*args,**kwargs): print(arg,*args,**kwargs) 调用 a(1,2,3,4,a=5,b=6) 结果 1 [2,3,4] {a:5,b:6}