P1 总复习

目录

  • 计算机之编程
  • 计算机组成原理
  • 计算机之操作系统
  • 编程语言
  • 变量
  • 内存管理
  • 数据类型
  • 用户交互input
  • 格式化输出
  • 基本运算符
  • 流程控制
  • 数据类型的内置方法

计算机之编程

什么是编程语言

人与计算机交互的介质

什么是编程

人通过编程语言将想要做的事写成一个个文件

为什么要编程

奴役计算机,代替人完成任务,解放劳动力

计算机组成原理

计算机五大组成部分

cpu(控制器和运算器)
内存
外存
输入设备
输出设备
I/O设备

32位和64位

32位:一次可以读取32个二进制的操作系统
64位:一次可以读取64个二进制的操作系统

多核cpu

同时可以执行多个任务的CPU

硬盘的工作原理

机械硬盘
    机械手臂:读取数据
    磁道:存储数据
    扇区:划分磁道
    平均寻道时间:工业水平限制5ms
    平均延迟时间:7200转硬盘为4.15ms
固态硬盘
    通过算法和电存储数据

计算机之操作系统

什么是文件

操作系统中的一个虚拟单位

什么是应用程序

应用程序由文件组成,用来完成具体的任务

操做系统干了什么

接收外部指令,指挥硬件

计算机由什么组成

应用程序:用来完成具体的任务,与用户\操作系统交互
操作系统:接收外部指令,转换成0和1发送给cpu,与用户,应用程序和硬件交互
硬件:存储和操作数据,与应用程序交互

应用程序和操作系统的启动流程

应用程序:
    1. 点击应用程序,发送指令给操作系统
    2. 操作系统将指令转换成0和1发送给cpu
    3. cpu发送指令给内存
    4. 内存从外存中调取应用程序的数据,加载到内存中,运行
操作系统:
    1. 打开电源,启动一个临时的操作系统
    2. 临时操作系统唤醒真正的操作系统

编程语言

机器语言

汇编语言

高级语言

解释型
编译型

执行python程序的两种方式

交互式
命令行是

执行python程序的两种IDE

pycharm和jupyter

变量

什么是变量

用来描述事物变化状态

变量有什么组成

变量名 赋值符号 变量值

变量名的命名规则

1. 变量名的定义必须具有某种意义
2. 必须有字母数字下划线组成,首字符不能是数字和下划线
3. python关键字不能用作变量名

变量名的两种定义方式

1. 驼峰体(单词首字母大写)
2. 下划线(下划线区分单词)

变量的三个属性

变量值 ID 数据类型

什么是常量

固定不变的量,约定常量的变量名全部为大写字母数字和下划线,实际上常量的值可以改变

注释

1. 单行注释 #
2. 多行注释 ''' 和"""

内存管理

引用计数

变量值被引用的次数

垃圾回收机制

当一个变量值的引用计数为0时,python会清除这个变量值的内存空间

小整数池

[-5,256]这些整数在python启动时会被单独划分一个内存空间,不会被垃圾回收机制清除

数据类型

整型:int
浮点型:float
字符串:str
列表:list
字典:dict
布尔:bool

用户交互input

接收到的数据类型都是字符串

格式化输出

%s 占位符

%s可以是任意数据类型 %d只能是数字类型 字符串后面跟 %(变量)

format格式化

{}可以是任意数据类型,字符串后跟 .format(变量)

f-string格式化

{}可以是任意数据类型,字符串前面f或F

基本运算符

算数运算符
+ - * / % //
比较运算符
> < == >= <=
逻辑运算符
and or not
赋值运算符
= += -+ *= /=
身份运算符
is is not
成员运算符
in not in
运算符的优先级
指数运算级最高,其余需要优先运算的用()
链式赋值
x=y=z=10
交叉赋值
x,y=y,z
解压缩
_,list1,list2,*_=list[1,2,3,4,5,6]

流程控制

if判断

if
if else
if elif else
if的嵌套

while循环

while
while break 结束本层循环
while continue 结束当前循环进入下一次循环
while else 当没有被break的时候执行else的代码
while的嵌套

for循环

for
for break 结束本层循环
for continue 结束当前循环进入下一次循环
for else 当没有被break的时候执行else的代码
for的嵌套

数据类型的内置方法

整型

1. 作用:描述年龄\id\银行卡号
2. 定义方式:x=10
3. 方法:基本运算符
4. 一个值or多个值:一个值
5. 可变or不可变:不可变
6. 有序or无序:没有有序无序之说

浮点型

1. 作用:薪资\价格
2. 定义方式:salary=2.5
3. 方法:基本运算符
4. 一个值or多个值:一个值
5. 可变or不可变:不可变
6. 有序or无序:没有有序无序之说

字符串

1. 作用:描述名字\地址等
2. 定义方式:name='nick'
3. 方法:
    1.优先掌握
        1. 索引取值
        2. 两端去空白strip
        3. 切片
        4. 切分split
        5. 长度len
        6. 成员运算 in/not in
        7. for循环
    2.需要掌握
        1. lstrip/rstrip左/右去空白
        2. rsplit右切分
        3. upper/lower大写/小写
        4. startswith/endswith以...开始/结束
        5. join拼接
        6. replace替换
        7. isdigit是否为数字
    3.了解
        1. find/rfind/index/rindex/count
        2. center/ljust/rjust/zfill
        3. expantabs
        4. capitalize/swapcase/title
        5. is系列
4. 一个值or多个值:一个值
5. 可变or不可变:不可变
6. 有序or无序:有序

列表

1. 作用:存放多个值
2. 定义方式:[]内用逗号分隔多个元素,这些元素可以是任意数据类型
3. 方法:
    1. 优先掌握
        1. 索引取值
        2. 长度len
        3. 成员运算in/not in
        4. for循环
        5. 追加append
        6. 切片
    2. 需要掌握
        1. count查找指定元素个数
        2. pop按照指定索引删除,默认删除最后一个
        3. insert在指定索引前插入元素
        4. index获取指定元素的索引值,只获取第一次
        5. extend扩展,将extend()内的元素加入原列表
        6. remove移除元素,如果不存在则报错
        7. clear清空列表
        8. copy复制
        9. reverse反转列表
        10. sort排序列表
4. 一个值or多个值:多个值
5. 可变or不可变:可变
6. 有序or无序:有序

元祖

1. 作用:存放多个值,只能取不能修改
2. 定义方式:()内用逗号分隔多个元素,这些元素可以是任意数据类型
3. 方法:
    1. 索引取值
    2. 切片
    3. 长度len
    4. 成员运算
    5. for循环
    6. count获取指定元素的个数
    7. index获取指定元素的索引值
4. 一个值or多个值:多个值
5. 可变or不可变:没有可变不可变之说
6. 有序or无序:有序

字典

1. 作用:存放多个值,当读取不方便的时候我们使用字典
2. 定义方式:{}内用逗号分隔元素,每个元素都是key:value的形式,key因为具有描述性质,通常为字符串,value可以是任意类型数据
3. 方法
    1. 优先掌握
        1. 按key取值
        2. 长度len
        3. 成员运算in\not in 仅比较key
        4. 删除del
        5. 键keys()值values()键值对items()
        6. for循环
    2. 需要掌握
        1.get如果键不存在,返回none,同事可以给定默认值
        2.update有就更新,没有就添加
        3.fromkeys吧给定列表内的元素取出来作为key,然后使用一个默认的value组成一个字典
        4.setdefault如果字典中有这个key,则不变,否则添加
4. 一个值or多个值:多个值
5. 可变or不可变:可变
6. 有序or无序:无序

集合

1. 作用:存放多个值,元素不能重复
2. 定义方式:{}内逗号分隔元素,集合内的元素是无序的不可重复的不可变类型数据
3. 方法
    1. 优先掌握
        1. 去重
        2. 并集 | union 两个集合中的所有元素并且去重
        3. 交集 & intersection 两个集合中共有的元素
        4. 差集 - difference A集合中且B集合中没有的
        5. 对称差集 ^ synnetric_difference 并集减去差集的元素
        6. 父集 > >= issuperset A包含B
        7. 子集 < <= issubset B包含A
        8. == 两个集合元素相同
        9. 长度len
        10. 成员运算 in/not in
    2. 需要掌握
        1. add添加元素
        2. remove移除元素,如果不存在则报错
        3. discard移除元素,不会报错
        4. difference_update
        5. isdisjoint 集合没有共同部分返回True 否则返回False
4. 一个值or多个值:多个值
5. 可变or不可变:可变
6. 有序or无序:无序

布尔类型

1. 作用:用于判断,除了0 None 空False的布尔值为空外,其他都为True

数据类型总结

一个值:整型/浮点型/字符串
多个值:列表/元祖/字典/集合
有序:字符串/列表/元祖
无序:字典/集合
可变:列表/字典/集合
不可变:整型/浮点型/字符串

拷贝/浅拷贝/深拷贝

三种拷贝方式仅针对于可变类型而言,如果是不可变类型发生了改变,则拷贝后的变量不会发生改变

拷贝:拷贝是复制了原对象的内存地址,所以当l1中可变类型发生变化的时候,由于id值没有变化,l2引用的索引还是这个可变类型,所以跟随一起变化

浅拷贝:浅拷贝是新建了一个内存地址,但复制了l1中元素的索引,所以当l1中可变类型发生变化的时候,由于id值没有变化,l2引用的索引还是这个可变类型,所以跟随一起变化

深拷贝:浅拷贝是新建了一个内存地址,但复制了l1中不可变元素的索引,新建了可变元素的索引,所以当l1中可变类型发生变化的时候,引用的不是相同的索引,因此不会发生变化

原文地址:https://www.cnblogs.com/masterjian924/p/10926564.html

时间: 2024-08-30 16:32:00

P1 总复习的相关文章

EF6 在原有数据库中使用 CodeFirst 总复习(五、生成发帖页面)

有点与在原有数据库中使用 CodeFirst 远了,不过是总复习吗,总得全面点. 一.在用户表(Users)中插入两个用户 二.生成发帖界面 MVC生成的界面很多,也没使用Ajax,实际开发中很少会使用,这里只是为了演示. 但无论用什么生成,特性.实体对象等都是要用到的. 生成之前要编译一下. 三.先试试看能不能运行 空空如也 应该显示用户名,显示成登陆名了(其实预想的是不在新增和修改时显示,未考虑到列表),删除标记怎么也显示出来了,还有内容,能显示的下吗... 四.列显示问题 让列表显示用户,

[家里蹲大学数学杂志]第240期钟玉泉编复变函数总复习纲要

第240期_钟玉泉编复变函数总复习纲要 下载后请自行打印.预览或学习, 不要到处传播于网络, 更不要用于商业用途.

2016年初中数学知识点中考总复习总结归纳

2016年初中数学知识点中考总复习总结归纳 http://wenku.baidu.com/link?url=NbEiI_Ld2TO3zEH8d5oDxTux2IBWJ5HqNmZ467MGchJTV2G0pyG4_TauOsYhjL6Ybyqp8MxUKM_wtofUqMTc7ePR3gJv3zIY27sTuSGOaRW

实验十八 总复习

实验十八  总复习 实验时间 2018-12-30 1.实验目的与要求 (1) 综合掌握java基本程序结构: (2) 综合掌握java面向对象程序设计特点: (3) 综合掌握java GUI 程序设计结构: (4) 综合掌握java多线程编程模型: (5) 综合编程练习. 2.实验内容和步骤 任务1:填写课程课后调查问卷,网址:https://www.wjx.cn/jq/33108969.aspx. 任务2:综合编程练习 练习1:设计一个用户信息采集程序,要求如下: (1)  用户信息输入界面

P2 总复习

目录 0531总复习 数据类型内置方法 整形类型内置方法 浮点型类型内置方法 字符串类型内置方法 优先掌握 需要掌握 了解 列表类型内置方法 优先掌握 需要掌握 元组类型内置方法 优先掌握 字典类型内置方法 优先掌握 需要掌握 集合类型内置方法 优先掌握 需要掌握 数据类型总结 可变or不可变 有序or无需 存一个值or多个值 拷贝 浅拷贝 深拷贝 字符编码 Python3解释器编码 文件操作 打开文件的流程 with管理上下文 打卡文件的三种模式 同时打开两个文件 文件复制 打开文件file后

0505.Net基础班第二十一天(基础加强总复习)

1.取消播放器的自动播放功能 2.播放或者暂停按钮 3.下一曲.上一曲 4.多选删除 5.静音和放音 6.选择列表中的音乐文件,单击播放按钮直接播放 7.自动进行下一曲 15秒  44秒 当我和世界不一样 44.--47 那就让我不一样 lblInfomation.Text = musicPlayer.currentMedia.duration.ToString() + "\r\n" + musicPlayer.currentMedia.durationString + "\

Java面向对象总复习-QuickHit

1.创建玩家级别类Level.java 1 package com.bdqn; 2 /** 3 * 1.玩家级别类 4 * @author pc 5 * 6 */ 7 public class Level { 8 /** 9 * 级别号 10 */ 11 private int levelNo; 12 /** 13 * 各级别一次输出字符串的长度 14 */ 15 private int strLength; 16 /** 17 * 各级别输出字符串的次数 18 */ 19 private in

0505.Net基础班第二十天(基础加强总复习)

1.new关键字 1).创建对象 2).隐藏从父类那里继承过来的成员 2.访问修饰符 public:公开的,公共的 private:私有的,只能在当前类的内部访问,类中成员们,如果不加访问修饰符,默认就是private procteced:受保护的,可以在当前类的内部访问,也可以在该类的子类中访问 internal:在当前项目中都可以访问. protected internal: 能够修饰类的访问修饰符只有两个,internal和public 3.常用的关键字 this 1.当前类的对象 2.调

EF6 在原有数据库中使用 CodeFirst 总复习(一、搭建基础环境)

本来以为已经会了,可动手时发现许多问题还是模糊不清,正所谓眼高手低.只能重新查资料,再复习一遍. vs.net2013 ef6 mvc5 sqlserver2008 一.建立数据库  Blogging 二.创建表,插入测试数据 CREATE TABLE [dbo].[Blogs] (     [BlogId] INT IDENTITY (1, 1) NOT NULL,     [Name] NVARCHAR (200) NULL,     [Url] NVARCHAR (200) NULL,