字典:

# 字典循环: dic.keys() | dic.values() | dic.items()
for k, v in dic.items():
   print(k, v)
   
   
# 字典嵌套
# [1, 2, 3]
# {k1:v1, k2:v2}
info = {
   '学生们': [
      {
           'name': 'Bob',
           'age': 18,
      },
      {
           'name': 'Tom',
           'age': 18,
      }
  ],
   '老师们': [
      {
           
      },
      {
           
      }
  ],
}
for k, v in info.items():
   if k == '学生们':
       for stu in v:
           print(stu)



字符编码

# ascii => 各国自己独有的编码(GBK), 兼容ascii => unicode -- utf-8|utf-16
# 以后文本类型数据采用编码:utf-8
# python2默认采用ascii编码表
# python3默认采用utf-8

# 在文件最上方可以通过 # encoding: 编码名来规定文件解码的编码表 -- 文件头
# 在py3以后的开发环境,所有文件采用utf-8编码存储,py3默认也是采用utf-8读取文件,所有可以省略文件头
# u'' = encode('utf-8') > b''
# b'' = decode('utf-8') > u''

文件操作

# 打开文件
f = open(r'文件路径', '文件的操作模式', encoding='utf-8')

# 使用文件
f.read()
f.write()

# 关闭文件
f.close()

基础读

# 文件操作模式:r  -- 文件必须提前存在,否则抛出异常
# 1.按字符进行操作
# 2.read():读所有内容 | read(10):对指定字符长度
# 3.readline(): 一次读一行
# 4.readlines(): 将文件一行一行读到list中

f = open(r'文件路径', 'r', encoding='utf-8')

基础写

# 文件操作模式:w  -- 文件不存在就新建,存在就清空
# 1.按字符进行操作
# 2.write('写入第1行\n写入第2行\n')
# 3.flush(): 将之前写入到内存中的数据刷新到硬盘中
# 4.writelines(list):list中存放的是一条条文件内容,需要明确\n标识换行 writelines(['111\n', '222\n'])

with语法

# 操作系统对文件的支持权由with自动管理释放
with open('file.txt', 'r', encoding='utf-8') as f:  # 不需要明文书写f.close()
   data = f.read()
   print(data)

操作模式

'''
主模式:
r: 文件必须存在的读
w: 文件无需存在的写,无创建,有清空再写
a: 文件无需存在的写,无创建,有在文件最后追加写

从模式:
t: 按文本字符操作数据(默认模式)
b: 按文本字节操作数据
+: 可读可写

了解:
x:新建文件写,如果文件已存在,抛异常
'''
'''
rt | wt | at == r | w | a
rb | wb | ab
rt+ | wt+ | at+ == r+ | w+ | a+
rb+ | wb+ | ab+
'''

游标操作

# 大前提:seek一定在b模式下进行操作,因为seek移动是按字节进行操作
# f.seek(偏移量,操作位置)

f.seek(5, 0)  # 从开始往后偏移5个字节
f.seek(-1, 1)  # 从当前位置向前偏移1个字节
f.seek(1, 1)  # 从当前位置向后偏移1个字节
f.seek(-5, 2)  # 从末尾向前偏移5个字节

文件的遍历

# 最常用读写
with open('source', 'r', encoding='utf-8') as f1, open('target', 'w', encoding='utf-8') as f2:
   for line in f1:
       f2.write(line)

函数入门

# 函数:用来完成特定功能的代码块,类似于工具,可以重复不但的去使用

# 为什么要有函数
# 1. 避免代码的冗余
# 2. 让程序代码结构更加清晰
# 3. 让代码具有复用性,便于维护

# 定义函数的语法
'''
def 函数名(参数列表):
  函数体
  return 返回值
'''
# 调用函数的语法
# 函数名(参数列表)

函数四部分

'''
1. 函数名:使用该函数的依据
2. 函数体:完成功能的代码块
3. 返回值:功能完成的反馈结果
4. 参数:完成功能需要的条件信息
'''

字符编码

重点

'''
1. 什么是字符编码:将人识别的字符转换计算机能识别的01,转换的规则就是字符编码表
2. 常用的编码表:ascii、unicode、GBK、Shift_JIS、Euc-kr
3. 编码操作:编码encode()、解码decode()
'''

知识储备

# 电脑三大核心:cpu - 内存 - 硬盘(数据的存取过程)
# 软件及python解释器读取文件过程:启动 - 读取 - 展示|解释执行
# python2环境的文件头:# coding: 编码格式

简介与发展

'''
1. ascii - 各国编码 - 万国编码
2. 存取不一致的乱码现象
3. unicode与utf-8
'''

核心

# 编码操作:编码encode()、解码decode()

字符与字节

重点

'''
1. 字节的存储方式:8个二进制位
2. 字符所占字节数:根据编码的不同,所占字节数可能不同
3. 三种格式字符串:u''、b''、r''
'''

了解

'''
u、b格式字符串转换: str(b'', encode='utf-8')、bytes(u'', encode='utf-8')
'''

文件操作

重点

'''
1. 文件操作的三步骤:打开文件 - 使用文件 - 关闭文件
2. 文件操作三要素:文件源、操作模式、编码
3. with语法:with open(...) as 别名, ..., open(...) as 别名: pass
4. 重点方法:read() | write() | readline() | close() | f.flush() | f.seek()
'''

操作模式

'''
主模式:r | w | a
从模式:b | t | +
了解:x | U
'''

操作方法

'''
读:read() | readline() | readlines()
写:write() | writelines() | flush()
光标:seek() | tell()
特征:encoding | closed

了解:readable() | writable() | name
'''

案例

'''
1. 文件复制
2. 文件修改

了解:py文件脚本机制
'''

函数初级

简介

# 函数是一系列代码的集合,用来完成某项特定的功能

优点

'''
1. 避免代码的冗余
2. 让程序代码结构更加清晰
3. 让代码具有复用性,便于维护
'''

函数四部分

'''
1. 函数名:使用该函数的依据
2. 函数体:完成功能的代码块
3. 返回值:功能完成的反馈结果
4. 参数:完成功能需要的条件信息
'''

函数的定义与调用的完整语法

# 1、定义
# def 是声明函数的关键字,后面跟着函数名,括号内是函数的参数
def 函数名(参数1,参数2,参数3,...):
   '''注释'''
   函数体  # 函数体写具体的逻辑代码
   return 返回的值 # retrun后面是函数的返回值,是函数体代码的运行成果

# 2、调用
函数名(参数1,参数2,参数3,...)

'''注:
-- 先定义再调用
-- 函数名存放的是函数地址
-- ()会触发函数体的执行
-- 函数执行完毕得到的是函数的返回结果,通常称之为函数的返回值,也称函数值
'''

函数详解

根据函数体划分

  • 空函数:用来罗列功能

# 空函数指的是函数体用pass占位,pass代表什么也不做
def func():          
   pass

# func():调用后什么是都不干
  • 非空函数:正常可以完成某项功能

def func():           
   print('非空函数')
   
# func():调用后执行函数体

根据参数列表划分

  • 无参函数:不需外界资源

def start():
   print('系统启动')
  • 有参函数:需要外键资源

def login(usr, pwd):
   if usr == 'owen' and pwd == '123':
       print('登录通过')
else:
       print('登录失败')

根据返回值划分:return是用来结束函数的

  • 空返回:返回None

def demo(x, y):
   print( x + y )
   
def demo(x, y):
   print( x + y )
   return
  • 一值返回

def demo(x, y):
   return x + y
  • 多值返回

def demo(x, y):
   return x + y, x - y, x * y, x / y

day03-课堂笔记-大纲的更多相关文章

  1. 九章算法系列(#3 Binary Tree & Divide Conquer)-课堂笔记

    前言 第一天的算法都还没有缓过来,直接就进入了第二天的算法学习.前一天一直在整理Binary Search的笔记,也没有提前预习一下,好在Binary Tree算是自己最熟的地方了吧(LeetCode ...

  2. 九章算法系列(#5 Linked List)-课堂笔记

    前言 又是很长时间才回来发一篇博客,前一个月确实因为杂七杂八的事情影响了很多,现在还是到了大火燃眉毛的时候了,也应该开始继续整理一下算法的思路了.Linked List大家应该是特别熟悉不过的了,因为 ...

  3. 九章算法系列(#4 Dynamic Programming)-课堂笔记

    前言 时隔这么久才发了这篇早在三周前就应该发出来的课堂笔记,由于懒癌犯了,加上各种原因,实在是应该反思.好多课堂上老师说的重要的东西可能细节上有一些急记不住了,但是幸好做了一些笔记,还能够让自己回想起 ...

  4. 九章算法系列(#2 Binary Search)-课堂笔记

    前言 先说一些题外的东西吧.受到春跃大神的影响和启发,推荐了这个算法公开课给我,晚上睡觉前点开一看发现课还有两天要开始,本着要好好系统地学习一下算法,于是就爬起来拉上两个小伙伴组团报名了.今天听了第一 ...

  5. ocp11g培训内部教材_052课堂笔记(042)_体系架构

    OCP 052 课堂笔记 目录 第一部分: Oracle体系架构... 4 第一章:实例与数据库... 4 1.Oracle 网络架构及应用环境... 4 2.Oracle 体系结构... 4 3. ...

  6. ocp11g培训内部教材_051课堂笔记(047)_SQL

    OCP 051课堂笔记 目录 OCP 051课堂笔记... 1 第一章.Oracle命令类别:... 4 第二章.SQL的基本函数... 4 2.1 单行函数与多行函数... 4 2.2 单行函数的几 ...

  7. 线程(java课堂笔记)

    1.两种方式的差异 2.线程的生命周期 3.线程控制(线程的方法) 4.线程同步 5.线程同步锁 一. 两种方式的差异 A extends Thread :简单 不能再继承其他类了(Java单继承)同 ...

  8. Java课堂笔记(零):内容索引

    回想自己学习和使用Java的时间也是很长了.本科期间课堂上浅尝辄止地学习了点皮毛,后来也是搁置不用,未曾深入研究.研究生期间因为项目和实习的原因,基本算是重新拾起Java这门语言,并且接触到了Spri ...

  9. FPGA_VHDL 学习课堂笔记001

    FPGA_VHDL 学习课堂笔记   记录说明:本文档主要记录大学期间,老师FPGA授课课堂笔记. 代码语言:VHDL 编程软件:MAX+plus II FPGA硬件:FLE-843   03月05日 ...

  10. 尚硅谷spring_boot课堂笔记

    尚硅谷spring_boot课堂笔记

随机推荐

  1. 谈谈 final finally finalize 区别

    声明 本篇所涉及的提问,正文的知识点,全都来自于杨晓峰的<Java核心技术36讲>,当然,我并不会全文照搬过来,毕竟这是付费的课程,应该会涉及到侵权之类的问题. 所以,本篇正文中的知识点, ...

  2. angular bootstrap timepicker TypeError: Cannot set property '$render' of undefined

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. BZOJ2946 [Poi2000]公共串(后缀自动机)

    Description          给出几个由小写字母构成的单词,求它们最长的公共子串的长度. 任务: l        读入单词 l        计算最长公共子串的长度 l        输 ...

  4. RPC框架学习总结

    1.RPC是一种技术框架的称呼,不是某种具体协议,不局限于某种协议,RPC顾名思义就是远程过程调用,其核心思想是,RPC客户端调用远程服务器上的接口完成过程调用,远程服务器把结果返回. 2.RPC的最 ...

  5. 自动化测试 接口自动化及UI自动化测试平台设计演示

    接口自动化及UI自动化测试平台设计演示   by:授客  QQ:1033553122 欢迎加入全国软件测试交流qq群:7156436 大家好,我是授客. 本视频意在分享个人,基于Python,Djan ...

  6. Centos 7下VMware三台虚拟机Hadoop集群初体验

    一.下载并安装Centos 7 传送门:https://www.centos.org/download/    注:下载DVD ISO镜像 这里详解一下VMware安装中的两个过程 网卡配置 是Add ...

  7. Git多人协作常用命令

    Git多人协作工作模式: 首先,可以试图用git push origin branch-name推送自己的修改. 如果推送失败,则因为远程分支比你的本地更新早,需要先用git pull试图合并. 如果 ...

  8. MySQL8.0关于caching_sha2_password Plugin的一个Bug

    今天在调试使用ansible进行标准化安装MySQL8.0时,发现关于caching_sha2_password plugin的一个bug. 在搭建主从复制时,按照手册说明需要创建用户: create ...

  9. Mysql --学习:大量数据快速导入导出

    声明:此文供学习使用,原文:https://blog.csdn.net/xiaobaismiley/article/details/41015783 [实验背景] 项目中需要对数据库中一张表进行重新设 ...

  10. x86服务器MCE(Machine Check Exception)问题

    MCE现象 Intel在Pentium 4.Xenon和P6系列处理器中实现了机器检查(Machinecheck)架构,提供能够检测和报告硬件(机器)的错误机制,如系统总线错误.ECC错误.奇偶校验错 ...