初学Python
理论学习:
主要是通过观看莫烦的教学视频以及“菜鸟教程”中的介绍
主要学习了Python的安装,环境的搭建以及基础的语法,数据类型,基本的数据结构(元组,列表,字典,集合),循环语句,条件控制,函数应用,输入输出,文件读写,面向对象,错误和异常处理,深浅拷贝,pip导入第三方库…
学习笔记:
快捷方式: ctrl + c 中止程序运行
全选 + ctrl + [ 格式控制
# 注释
基本运算符:+ - * /
% 取余运算 // 对运算取整 ** 次方根
判断符号:<, >, <=, >=, ==, !=
自变量 区分大小写
while循环:
while 判断条件 :
循环体
for循环:
for 变量 in 数组:
循环体
for 变量 in range(*, *):
循环体
//continue 和 break 同C
range函数(*, *, 跨度(可省略))
条件语句:
if 条件 :
elif 条件 :
else:
定义函数:
def 函数名(参数):
函数体
参数可有默认值:(a = *, b = '****')
全局/局部变量:
全:通常大写
可先定义,后在函数体内改为 global
eg:
a = None
def fun():
global a
a = **
可修改和访问a
eval函数:
转化字符串为数字 eval("****")
文件读写:
open('文件名','w(写/不存在则创建)/r(读)/a(追加)')
.write('***')
.close()
读取内容:.read()
.readline() 只读一行
.readlines() 读取全部到列表
class 类:
class(关键字) 类名(通常首字母大写):
类变量
def 类函数(self, *, *)
self.类变量
定义对象
对象名 = 类名(参数1, 参数2, .....)
类的初始化:
def __init__(参数1, 参数2, ...)
输入:
input() //return string 可强制转化类型
元组,列表:
元组: 名_tuple = (*, *, *) //括号可省略
列表: 名_list = [*, *, *]
len() //return 长度
列表:.append(*(追加的位置), *(追加的值))
.remove(*(删除的值))
.index(*(需要索引的值)) //返回索引
.count(*) //返回 * 出现的次数
.sort() //排序(从小到大)
.sort(reverse = Ture) //排序(从大到小)
多维列表:
eg: a = [ [1,2,3],
[2,3,3]]
最后一位索引为-1
a[i : j] 从第 i 位到第 j 位, 不取 j 位
字典:
无序性
字典名 = {'key' : '内容', .....}
有key引索
删除 del a['key']
添加 a['key'] = '内容'
import 载入模块:
import 模块名(time / numpy / ....) as 简化名
from time import time, localtime(部分功能) *(全部功能)
错误处理 try:
try:
except Exception as 变量
a = [1, 2, 3]
b = [4, 5, 6]
zip:可zip多个元素
zip(a, b) 返回object
list(zip(a, b)) = [(1, 4), (2, 5), (3, 6)]
lambda:
fun = lambda x, y: x + y
fun(1, 3) return 1 + 3
map:
map(fun, [*, *,....], [*, *, ....])) 返回object
用list存入列表
copy:
导入copy模块 import copy
a = [1, 2, 3]
b = a
id(a) == id(b) id索引地址
c = copy.copy(a) //浅拷贝 a, c不指向同一地址 id(a) != id(c)
特列:
a = [1, 2, [3, 4]]
b = copy.copy(a)
此时 id(a[2]) == id(b(2))
完全不重复:
e = copy.deepcopy(a) //深拷贝
id(e[2]) != id(a[2])
pickle:
导入pickle模块 import pickle
eg:
a_dict = {'da': 111, 2:[23, 1, 4], '23': {1:2, 'd':'sad'}}
file = open('pickle_example.pickle', 'wb')
pickle.dump(a_dict, file) //.dump 将a_dict装入file
a_dict1 = pickle.load(file)
file.close()
with open('pickle_example.pickle', 'rb') as file:
with 自动关闭
set:去除重合部分,区分大小写,乱序
eg:
char_list = ['a', 'b', 'c', 'c', 'd', 'd', 'd']
set(char_list) 返回类型为set
.add('*') 加入参数
.clear() 清空
.remove('*') 减去元素,不存在则报错
.discard('*') 减去元素,不存在则返回原set
.difference(*) 比较俩个set,返回 * 中不存在的元素
.intersection(*) 比较俩个set,返回交集
正则表达式:
模块导入 import re
.search(str1, str2) str2中查找str1,返回从i位到第j位为str1
pth = r"a[ap(a和p)/0-9]ple"
匹配:\s \S || \w \W || \b \B || \\ . || ^ $ || ? || * || +
.search(str1, str2, flags=re.M) 匹配多行
.group() .findall() .sub() .split()
习题检测:
通过习题的练习来巩固对基础知识的理解和应用