自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Musing的博客

勤思.多想.

  • 博客(64)
  • 资源 (21)
  • 收藏
  • 关注

原创 关于VS Code必装插件

使用VSCode的目标是抛弃 SourceInsight一些必知必会的快捷键:https://zhuanlan.zhihu.com/p/54164612部署VSCode,包括代码跳转功能:https://zhuanlan.zhihu.com/p/96819625...

2019-12-17 22:12:00 331

原创 C++的STL库

前言:STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。从根本上说,STL是一些“容器”的集合,这些“容器”有list,vector,set,map等,STL也是算法和其他一些组件的集合。这里的“容器”和算...

2019-10-13 23:01:26 485

转载 Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈

Linux 中的各种栈:进程栈 线程栈 内核栈 中断栈转载自:Linux中的各种栈栈是什么?栈有什么作用?首先,栈 (stack) 是一种串列形式的 数据结构。这种数据结构的特点是 后入先出 (LIFO, Last In First Out),数据只能在串列的一端 (称为:栈顶 top) 进行 推入 (push) 和 弹出 (pop) 操作。根据栈的特点,很容易的想到可以利用数组,来实现这...

2019-09-27 23:22:16 266

原创 int、unsigned int溢出

关于int类型,unsigned int类型的溢出,测试代码如下:#include <iostream>using namespace std;int main(){ unsigned int max32=0xffffffff; cout<<"unsigned_int_max="<<max32<<endl; max32++; cout&...

2019-09-12 17:38:10 1144

原创 Linux下上海大学在外连接学校网

ps:本文仅针对上大学生在外连接校园网,不适用于其他用户因为openxxx的名字会被和谐,所以以xxx代替那三个字母1、windows下连接参见学校官网2、Linux下连接学校并没有给出Linux下openvpn的连接方式,其实非常简单 !1、安装sudo apt-get install openvpn2、学校openxxx的配置文件已上传到博客资源:stu...

2019-09-08 10:21:43 2146 2

原创 Leetcode(力扣)刷题

目录LeetCode最长回文子串LeetCodeLeetCode中文版网址https://leetcode-cn.com/problemset/all/最近公司喊口号,要求提高软件能力,并把LeetCode作为技能鉴定的标准,部门也要求每周至少一题LeetCode,加班已经很忙了啊[狗头]最长回文子串1、拿到题目,首先要分析有哪几种子串类型:1)aba (以字符为中心对称);2) ...

2019-09-01 21:46:31 1087

原创 nexo+github 搭建个人博客

配置后的博客效果可以看这里:https://musing93.github.io/目录常见问题解决1、安装Hexo1.1 安装Hexo1.2 本地调试Hexo2、Github Page托管2.1 Hexo与github关联2.2 更换主题2.3blog的测试与更新3、多端同步3.1 前期配置主电脑(A):3.2 多端更新同步3.2...

2019-05-17 15:46:37 1366

原创 ubuntu16下github配置

2015年底开始学习Python,接触了git这个东西,会基础的使用,顺便在github上注册了账号https://github.com/haoxr今天重新整理一下配置使用的整个流程1、注册github账号此处不在赘述2、本地安装git可以使用终端安装sudo apt-get update sudo apt-get install git当然也可以使用git c...

2019-05-17 14:05:09 572

原创 秋招总结

在这里纪录一下秋招的总结吧,也算是为自己的硕士求学生涯画上个句号吧。秋招面试了很多单位,也收到了不少offer,当然大部分是凉凉的。。。1、泛亚       2018年8月,幸运的通过了泛亚的实习面试,试验认证部。部门的股长(实际上是group leader)人很不错,和我的带教老师一起带我了解泛亚的认证工作。不得不说泛亚的体质还是不错的,有人文关怀,不存在严格的上下级关系,上到总监,...

2018-12-12 21:51:21 593 1

原创 Linux-Makefile & gcc

1、编译预处理:生成中间件,后缀为.i gcc -E main.c -o main.i编译:生成汇编语言文件,后缀.s gcc -S main.i -o main.s汇编:生成二进制代码.ogcc -c main.s -o main.o链接:生成可执行文件gcc hello.o -o hello编译: gcc main.c -o mai...

2018-11-01 11:09:14 150

原创 移动机器人仿真梳理

最近系统重装,重新配置仿真环境,因此再次梳理一下假设ubuntu16中已经安装完ros-kinetic.1、仿真环境配置建立ros工作空间:source /opt/ros/kinetic/setup.bashsh creat_pkg.shmkdir -p ~/ros_gazebo/srccd ~/ros_gazebocatkin_makesource ~/ros_ga...

2018-10-29 15:07:27 1130

原创 进程、轻量级进程和线程(Linux)

1、线程和进程进程是计算机程序关于某数据集合的一次运行活动,是系统进行资源分配和系统调度的基本单位。进程是程序执行的一个实例。因此如果有16个用户同时执行一个程序,那么就有16个进程,虽然他们共享同一个可执行代码。linux通过进程描述符管理进程。线程是程序执行流的最小单元,一个标准线程由线程ID,当前指令指针PC,寄存器集合,堆栈组成。另外,线程是进程的一个实体,是系统独立调度和分配的基...

2018-10-22 16:44:46 451 1

原创 Linux-IPC

目录1.Linux进程间通信方法2. 管道2.1 shell中的管道2.2 无名管道 编程2.3 无名管道代码2.4有名管道2.5关于fork函数fork(函数)3. 消息队列4. 信号量5. 共享内存6.线程6.1 线程函数互斥量的操作函数读写锁条件变量自旋锁1.Linux进程间通信方法管道 有名管道 消息...

2018-10-19 20:29:31 299

原创 Linux的操作&shell编程

1、进程、内存1.1 查看进程 内存在Linux中查看所有正在运行的进程top命令命令用于实时监测系统资源使用状况,包含,进程、cpu,内存等topps查看各个用户的进程、内存占用率参考:https://www.jianshu.com/p/29183ee216d2任务:使用ps aux打印进程状态pstree以树状显示正在运行的进程。树的根节点为pid或i...

2018-10-11 12:45:16 220

原创 计算机操作系统原理

最近准备i面试,抽时间回顾一下计算机操作系统原理. -2018.10.11、硬件基础计算机的构成:处理器(CPU):主要包括运算器、控制器 内存(主存储器) 输入输出设备详细的讲,CPU内部包括:存储器地址寄存器 MAR: 用于确定下一个要读写的存储器地址 存储器缓冲寄存器 MBR: 用于存放要写入存储器的数据,或者从存储器中读取的数据 输入/输出地址寄存器 ...

2018-09-29 16:42:50 8414

原创 数据结构整理

目录1、哈希表开放地址法:链地址法:2、字符串匹配的两种算法2、排序算法总结2.1冒泡排序(比较相邻元素))2.2选择排序2.3插入排序2.4希尔排序2.5归并排序O(nLog(n))2.6堆排序O(nLog(n))2.7快速排序O(nLog(n))~O(n^2)二分排序:3、树和堆3.1 Huffman树3.2 B树、B+树、...

2018-09-16 22:25:41 280

原创 TCP/IP、路由交换原理与网络编程yu

目录1、TCP/IP以及OSI七层模型1.1、数据链路层IEEE802.3MACCSMA/CD 过程交换机的转发过程: 理解冲突域和广播域 VLAN原理(Virtual Local Area Network)1.2 网络层VLAN间路由:DNS网络中LAN、WAN、WLAN、VLAN和VPN的区别QinQ原理及技术(QinQ白皮书)2、TCP...

2018-09-16 18:13:05 6818 1

原创 C++ 整理

C++一直在用,但是类中有很多知识一直没怎么用到,如今秋招在即,抽时间整理一下吧~https://www.cnblogs.com/yasanlun/p/3838531.html目录1、C++特点1.1 class和structC++的 class和struct的区别c语言中的struct 和 c++ 的struct的区别1.2 友元函数:1.3 重载1.4 类...

2018-09-14 22:53:59 848

原创 C++ -动态规划

1、钢材切割 代码1思路:将钢材切割问题优化为:钢材长度n&lt;=10    钢材长度n&gt;10对于n&lt;=10,可以遍历迭代解决;对于n&gt;10,可以分段切割,每次切割i=1,2,。。。10十种情况;此法有个缺点,n较大时迭代时间长,n=30时,计算时长需要37s。#include &lt;iostream&gt;#include &lt;str...

2018-09-14 19:50:25 6529

原创 shell编程

1.查看进程#!/bin/bash#打印当前运行的线程,输入参数为线程的关键字ps -eLF | grep $1终端输入 chmod +x test.sh 然后 ./test.sh netease  ,即可打印网易云的进程;直接用bash test.sh亦可2.输入输出重定向先将 test.text重定向为 输入,再将其中 含有 "jk"的行筛选出来,最后将筛选出的行进行...

2018-08-29 17:28:48 149

原创 Linux驱动-网络设备(1)

1.Linux网络设备驱动结构Linux网络设备驱动体系分为四层,从上往下依次为 网络协议接口层,网络设备接口层,设备驱动功能层,网络设备与媒介层这里值得一提的是Linux网络设备体系和TCP,IP协议栈之间的关系.下图是TCP/IP结构图Linux网络驱动提供的是硬件接口,它服务与ARP(链路层)和Ip(网络层).1.1网络协议接口层网络协议接口层最主要的功能是...

2018-08-29 14:14:45 408

原创 Linux驱动开发-并发控制

1.并发与竞态并发(Concurrency)是指多个单元同时、并行被执行,而并发执行单元对共享资源(硬件资源和软件上的全局变量,静态变量等)的访问很容易导致竞态(Race Conditions)。概念:Linux驱动之并发与竞态竞争状态的分类:对称多处理器(SMP)的多个CPU SMP是一种紧耦合、共享存储的系统类型,因为多个CPU同时共享系统总线,因此可以访问共同的外设和...

2018-08-28 09:53:34 233

转载 Linux-内核移植过程

嵌入式linux 内核和根文件系统烧写方式简介嵌入式Linux系统移植的四大步骤

2018-08-27 11:16:50 1441

原创 STM32F429+Trace+J-Link配置

文章完全参考Trace跟踪软甲提供的user Manual, 遇到问题详细阅读参考手册肯定能解决Trace提供了两种跟踪调试的方式:1、快照模式 ; 2、流模式首先下载Trace跟踪调试器,因为是收费软件,但是可以下载适用版本这里假设已经移植好了FreeRTOS,移植过程可以看之前的文章接下来:1、移植TraceRecorder        复制安装的Trace下的文件夹...

2018-08-27 11:15:28 2841

原创 Linux驱动开发-字符设备驱动

1.Linux字符设备驱动结构1.1 cdev结构体Linux内核中使用cdev结构体描述一格字符设备struct cdev{ struct kobject kobj; struct module *owner; /*所属模块*/ struct file_operations *ops; /*文件操作结构体*/ struct list_hea...

2018-08-23 11:34:09 189

原创 linux驱动开发-文件系统与设备文件

 目录1.Linux文件系统操作Linux文件创建,打开,关闭函数Linux下文件读写函数2.C库文件操作3.Linux文件系统3.1根目录结构3.2.VFSVFS 虚拟文件系统基础概念Linux文件系统与设备驱动关系:设备驱动结构体:file,inodeinode结构体inode之atime,mtime,ctimefile结构体3.3 ...

2018-08-14 12:58:54 3231 1

原创 linux驱动开发-内核编译

环境:ubuntu14.04 32位linux内核4.0版本,路径/home/baohua/develop/linux0、搭建编译环境Ubuntu 16.04上安装arm-linux-gcc-4.4.31、编译内核查看路径下文件:编译内核(使用交叉编译):make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- zI...

2018-07-13 22:04:30 218

转载 嵌入式Linux-基础

内核源码:嵌入式linux面试题解析——ARM部分Linux内核文件系统Linux内核启动过程嵌入式linux根文件系统Linux驱动程序是系统内核的一部分,驱动程序工作在内核态,应用程序工作在用户态驱动程序分类:字符设备,c 块设备,b 网络设备 其他设备用户态和内核态名词解释:文件系统:FAT(File Allocation Table) :微软...

2018-07-08 14:06:18 163

原创 嵌入式

目录1、嵌入式c编程基础知识1.1 C的关键词关于static:关于define:关于const:关于inline:关于volatile:1.2 关于大小端手写库函数 strcpy,strncpy,memcpy,memsethttps://blog.csdn.net/tsh123321/article/details/52263707题目:1...

2018-07-06 15:13:53 1582

原创 stm32-内存管理

直接上代码:malloc.h:#ifndef __MALLOC_H#define __MALLOC_H#ifndef NULL#define NULL 0#endif//定义三个内存池,分别是ARM自带的SDRAM,外置的SDRAM,以及仅供CPU访问的CCM空间#define SRAMIN 0 //内部内存池#define SRAMEX 1 //外部内存池(SDRAM...

2018-07-05 14:44:12 1429

原创 stm32F429-系统架构

1.存储器和总线架构1.1系统架构图1I总线:此总线用于将 Cortex™-M4F 内核的指令总线连接到总线矩阵。内核通过此总线获取指令。此总线访问的对象是包含代码的存储器(内部 Flash/SRAM 或通过 FSMC 的外部存储器)。D总线:此总线用于将 Cortex™-M4F 数据总线和 64 KB CCM 数据 RAM 连接到总线矩阵。内核通过此总线进行立即数加载和调试访问。此总线访问的对象...

2018-07-02 12:52:53 7366

原创 stm32-CAN

1、概念CAN是一种异步通信,使用CAN_HIGH,CAN_LOW两根信号线实现差分通信,通信网络有两种:闭环总线网络、开环总线网络1.1闭环总线网络特点:遵循 ISO11898 标准高速、短距离总线最大长度为 40m,通信速度最高为 1Mbps两端各要求有一个“120 欧”的电阻。 1.2开环总线网络特点:遵循 ISO11519-2 标准 低速远距离最大传输距离为 1km,最高通讯速率为 125...

2018-06-21 14:55:18 589

原创 C++刷题

#include<algorithm>1、计算字符串最后一个单词的长度,单词以空格隔开。输入描述:一行字符串,非空,长度小于5000。输出描述:整数N,最后一个单词的长度。示例1输入hello world输出5#include<iostream>#include <string>using namespace std;i...

2018-06-20 21:20:44 406

原创 C语言编程题

程序代码目录1、递归2、输入一个整数(任意位数),倒叙输出:3、将一个数组逆序放到原来数组中。(考虑复杂度)4、斐波那契数列:5、排序5.1冒泡排序5.2、选择排序6、字符串循环移动7、计算字符串最后一个单词长度8、删除一个字符串中指定的所有某个字符。9、用一个表达式判断一个整数是否在某两个整数之间1、递归求阶乘n!分别用递归和循环法:...

2018-06-20 10:41:23 612

原创 stm32-以太网

LAN:局域网ISP:互联网提供商路由器:Router1、互联网模型        国际标准组织将整个以太网通信结构制定了 OSI 模型,总共分层七个层,分别为应用层、表示层、会话层、传输层、网络层、数据链路层以及物理层 。OSI 模型是理想分层,一般的网络系统只是涉及其中几层。         TCP/IP 是互联网最基本的协议,是互联网通信使用的网络协议,由网络层的 IP 协议和传输层的 TC...

2018-06-16 15:08:56 12085

原创 FreeRTOS中的优先级

1、中断优先级和任务优先级的区别        首先中断优先级和任务优先级这两个之间没有任何关系,不管中断的优先级是多少,中断的优先级永远高于任何任务的优先级,即任务在执行的过程中,中断来了就开始执行中断服务程序。另外对于STM32F103,F407和F429来说,中断优先级的数值越小,优先级越高。而FreeRTOS的任务优先级是,任务优先级数值越小,任务优先级越低。...

2018-06-16 12:53:25 640

原创 RTOS系统5-中断管理

1、概览    嵌入式实时系统需要对整个系统环境产生的事件作出反应。 这些事件对处理时间和响应时间都有不同的要求。在各种情况下,都需要作出合理的判断,以达到最佳事件处理的实现策略: 事件如何被检测到?通常采用中断方式,但是事件输入也可以通过查询方式(例如:查询电平高低)获得。什么时候采用中断方式?中断服务例程(ISR)中的处理量有多大?以及 ISR 外的任务量有多大?通常情况下, ISR 应当越短...

2018-06-11 17:00:49 1430

原创 RTOS系统4-队列管理

回顾:任务创建、任务状态切换、任务函数1、队列概述          基于 FreeRTOS 的应用程序由一组独立的任务构成——每个任务都是具有独立权限的小程序。这些独立的任务之间很可能会通过相互通信以提供有用的系统功能。FreeRTOS 中所有的通信与同步机制都是基于队列(queue)实现的 。2、特性数据存储:        队列可以保存有限个具有确定长度的数据单元。队列可以保存的最大单元数目...

2018-06-11 14:35:14 351

原创 STM32-驱动程序

以STM32F429为例1 USART配置USART2usart.h文件根据硬件设置别名:#ifndef __USART_H#define __USART_H#include "stm32f4xx.h"#include &lt;stdio.h&gt;//配置USART2#define USART2_CLK RCC_APB1Periph_USART2#...

2018-06-11 10:05:09 10384

原创 RTOS系统3-任务管理

1、任务函数任务函数必须返回void,且必须带有一个void指针参数:void *pvParameters    例如:void ATaskFunction(void *pvParameters);任务都是自己职权范围内的一个小程序,其具有程序入口,通常会运行在一个死循环中,也不会退出;任务不允许任何形式的返回(绝对不能有return语句,也不能执行的函数末尾)一个任务函数可以创建若干个任务,任务...

2018-06-09 11:12:05 920

student.tar

博客附件配置文件。

2019-05-17

VdhCoAppSetup-1.2.4.rar

Video Downloader help 桌面支持工具

2019-05-08

移动机器人导论中文翻译版

上传本书希望读者能够对移动机器人有一个比较清晰的认识,适合初学者了解该 领域

2018-11-29

CAJView绿色版

ubuntu下查看知网论文,解压后使用命令 wine CAJVieweru.exe运行(前提是安装了wine)

2018-11-02

ros gazebo models

gazebo下的model,移动机器人turtlebot模型仿真用。

2018-10-29

trace FreeRTOS

博客:https://blog.csdn.net/weixin_37058227/article/details/80776249 配置好的Trace+FreeRTOS+stm32 文件

2018-06-22

c编程题代码

c编程题,内含程序、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

2018-06-20

FreeRTOS使用教程

FreeRTOS官方资料翻译版本,适合入门使用、、、、、、、

2018-06-09

RTOS工程文件

文章:https://blog.csdn.net/weixin_37058227/article/details/80630643

2018-06-09

keil环境编译测试

博客中测试配置的keil编译环境用。。。。。。。。。。。。。。。。。。。。。。

2018-06-05

FreeRTOS学习资料

资源包括FreeRTOS官方文档、STM32移植教程以及其他开源资料

2018-06-05

知网CAJ浏览器

ubuntu用于看知网论文,使用前需要安装wine,并使用 sudo chmod u+x **.exe,修改权限

2018-05-14

Python学习手册第四版中文

前言1 第一部分 使用入门 第1章 问答环节19 人们为何使用Python19 软件质量20 开发效率21 Python是“脚本语言”吗21 好吧,Python的缺点是什么呢23 如今谁在使用Python23 使用Python可以做些什么24 系统编程25 用户图形接口25 Internet脚本25 组件集成26 数据库编程26 快速原型27 数值计算和科学计算编程27 游戏、图像、人工智能、XML、机器人等27 Python如何获得支持28 Python有哪些技术上的优点28 面向对象28 免费29 可移植29 功能强大30 可混合31 简单易用31 简单易学32 Python和其他语言比较起来怎么样32 本章小结33 本章习题33 习题解答34 Python是工程,不是艺术34 第2章 Python如何运行程序36 Python解释器简介36 程序执行37 程序员的视角37 Python的视角39 执行模块的变体41 Python实现的替代者42 执行优化工具43 冻结二进制文件44 其他执行选项45 未来的可能性46 本章小结46 本章习题47 习题解答47 第3章 如何运行程序48 交互提示模式下编写代码48 交互地运行代码49 为什么使用 交互提示模式51 使用交互提示模式52 系统命令行和文件54 第一段脚本55 使用命令行运行文件56 使用命令行和文件57 UNIX可执行脚本(#!)58 UNIX env查找技巧59 点击文件图标60 在Windows中点击图标60 input的技巧61 图标点击的其他限制63 模块导入和重载63 模块的显要特性:属性65 import和reload的使用注意事项68 使用exec运行模块文件69 IDLE用户界面70 IDLE基础71 使用IDLE72 高级IDLE工具74 其他的IDE74 其他启动选项76 嵌入式调用76 冻结二进制的可执行性77 文本编辑器启动的选择77 其他的启动选择77 未来的可能77 我应该选用哪种78 调试Python代码78 本章小结80 本章习题80 习题解答80 第一部分 练习题81 第二部分 类型和运算 第4章 介绍Python对象类型87 为什么使用内置类型88 Python的核心数据类型88 数字90 字符串92 序列的操作92 不可变性94 类型特定的方法94 寻求帮助96 编写字符串的其他方法97 模式匹配98 列表98 序列操作98 类型特定的操作99 边界检查100 嵌套100 列表解析101 字典103 映射操作103 重访嵌套104 键的排序:for 循环105 迭代和优化107 不存在的键:if 测试107 元组109 为什么要用元组109 文件110 其他文件类工具111 其他核心类型111 如何破坏代码的灵活性113 用户定义的类114 剩余的内容115 本章小结115 本章习题116 习题解答116 第5章 数字117 Python的数字类型117 数字常量118 内置数学工具和扩展119 Python表达式操作符120 在实际应用中的数字125 变量和基本的表达式125 数字显示的格式126 比较:一般的和连续的127 str和repr显示格式128 除法: 传统除法、Floor除法和真除法129 整数精度133 复数133 十六进制、八进制和二进制记数134 位操作136 其他的内置数学工具137 其他数字类型139 小数数字139 分数类型141 集合145 布尔型151 数字扩展152 本章小结153 本章习题153 习题解答153 第6章 动态类型简介155 缺少类型声明语句的情况155 变量、对象和引用156 类型属于对象,而不是变量157 对象的垃圾收集158 共享引用159 共享引用和在原处修改161 共享引用和相等163 动态类型随处可见164 本章小结165 本章习题165 习题解答165 第7章 字符串167 字符串常量169 单双引号字符串是一样的170 用转义序列代表特殊字节171 raw字符串抑制转义173 三重引号编写多行字符串块175 实际应用中的字符串176 基本操作176 索引和分片177 为什么要在意:分片181 字符串转换工具181 修改字符串184 字符串方法185 字符串方法实例:修改字符串187 字符串方法实例:文本解析189 实际应用中的其他常见字符串方法190 最初的字符串模块(在Python 3.0中删除)191 字符串格式化表达式192 更高级的字符串格式化表达式194 基于字典的字符串格式化196 字符串格式化调用方法196 基础知识197 添加键、属性和偏移量198 添加具体格式化198 与%格式化表达式比较200 为什么用新的格式化方法203 通常意义下的类型分类206 同样分类的类型共享其操作集合206 可变类型能够在原处修改207 本章小结208 本章习题208 习题解答208 第8章 列表与字典210 列表210 实际应用中的列表213 基本列表操作213 列表迭代和解析213 索引、分片和矩阵214 原处修改列表215 字典220 实际应用中的字典222 字典的基本操作222 原处修改字典223 其他字典方法224 语言表225 字典用法注意事项226 为什么要在意字典接口229 创建字典的其他方法230 Python 3.0中的字典变化231 本章小结237 本章习题237 习题解答237 第9章 元组、文件及其他239 元组239 实际应用中的元组241 为什么有了列表还要元组243 文件243 打开文件244 使用文件245 实际应用中的文件246 其他文件工具252 重访类型分类254 为什么要在意操作符重载255 对象灵活性255 引用 VS 拷贝256 比较、相等性和真值258 Python 3.0的字典比较260 Python中真和假的含义261 Python的类型层次263 Type对象263 Python中的其他类型265 内置类型陷阱265 赋值生成引用,而不是拷贝265 重复能够增加层次深度266 留意循环数据结构266 不可变类型不可以在原处改变267 本章小结267 本章习题268 习题解答268 第二部分练习题269 第三部分 语句和语法 第10章 Python语句简介275 重访Python程序结构275 Python的语句276 两个if的故事278 Python增加了什么279 Python删除了什么279 为什么使用缩进语法281 几个特殊实例283 简短实例:交互循环285 一个简单的交互式循环285 对用户输入数据做数学运算287 用测试输入数据来处理错误288 用try语句处理错误289 嵌套代码三层290 本章小结290 本章习题291 习题解答291 第11章 赋值、表达式和打印292 赋值语句292 赋值语句的形式293 序列赋值294 Python 3.0中的扩展序列解包297 多目标赋值语句301 增强赋值语句302 变量命名规则305 Python的废弃协议306 表达式语句308 表达式语句和在原处的修改309 打印操作310 Python 3.0的print函数311 Python 2.6 print语句313 打印流重定向315 版本独立的打印318 为什么要注意print和stdout319 本章小结320 本章习题321 习题解答321 第12章 if测试和语法规则322 if语句322 通用格式322 基本例子323 多路分支323 Python语法规则325 代码块分隔符326 语句的分隔符328 一些特殊情况329 真值测试330 if/else三元表达式332 为什么要在意布尔值334 本章小结335 本章习题335 习题解答335 第13章 while和for循环336 while循环336 一般格式336 例子337 break、continue、pass和循环else338 一般循环格式338 pass338 continue340 break340 循环else341 为什么要在意“模拟C 语言的while循环”342 for循环343 一般格式343 例子344 为什么要在意“文件扫描”349 编写循环的技巧350 循环计数器:while和range351 非完备遍历:range和分片352 修改列表:range353 并行遍历:zip和map354 产生偏移和元素:enumerate357 本章小结358 本章习题358 习题解答359 第14章 迭代器和解析,第一部分360 迭代器:初探360 文件迭代器361 手动迭代:iter和next363 其他内置类型迭代器365 列表解析:初探367 列表解析基础知识368 在文件上使用列表解析369 扩展的列表解析语法370 其他迭代环境371 Python 3.0中的新的可迭代对象375 range迭代器376 map、zip和filter迭代器377 多个迭代器 VS单个迭代器378 字典视图迭代器379 其他迭代器主题381 本章小结381 本章习题381 习题解答382 第15章 文档383 Python文档资源383 #注释384 dir函数384 文档字符串:__doc__385 PyDoc:help函数388 PyDoc:HTML报表390 标准手册集393 网络资源394 已出版的书籍394 常见编写代码的陷阱395 本章小结397 本章习题397 习题解答397 第三部分练习题398 第四部分 函数 第16章 函数基础403 为何使用函数404 编写函数405 def语句406 def语句是实时执行的407 第一个例子:定义和调用408 定义408 调用408 Python中的多态409 第二个例子:寻找序列的交集410 定义410 调用411 重访多态411 本地变量412 本章小结413 本章习题413 习题解答413 第17章 作用域415 Python作用域基础415 作用域法则416 变量名解析:LEGB原则418 作用域实例419 内置作用域420 在Python 2.6中违反通用性422 global语句422 最小化全局变量423 最小化文件间的修改424 其他访问全局变量的方法426 作用域和嵌套函数427 嵌套作用域的细节427 嵌套作用域举例427 nonlocal语句433 nonlocal基础433 nonlocal应用435 为什么使用nonlocal437 本章小结440 本章习题441 习题解答442 第18章 参数444 传递参数444 参数和共享引用445 避免可变参数的修改447 对参数输出进行模拟448 特定的参数匹配模型449 基础知识449 匹配语法450 细节452 关键字参数和默认参数的实例452 任意参数的实例455 Python 3.0 Keyword-Only参数459 min调用462 满分463 加分点464 结论465 一个更有用的例子:通用set函数465 模拟Python 3.0 print函数466 使用Keyword-Only参数467 为什么要在意:关键字参数469 本章小结469 本章习题470 习题解答470 第19章 函数的高级话题472 函数设计概念472 递归函数474 用递归求和474 编码替代方案475 循环语句VS递归476 处理任意结构477 函数对象:属性和注解478 间接函数调用478 函数内省479 函数属性480 Python 3.0中的函数注解481 匿名函数: lambda483 lambda表达式483 为什么使用lambda484 如何(不要)让Python代码变得晦涩难懂486 嵌套lambda和作用域487 为什么要在意:回调488 在序列中映射函数:map489 函数式编程工具:filter和reduce490 本章小结492 本章习题492 习题解答492 第20章 迭代和解析,第二部分494 回顾列表解析:函数式编程工具494 列表解析与map495 增加测试和嵌套循环496 列表解析和矩阵498 理解列表解析499 为什么要在意:列表解析和map500 重访迭代器:生成器501 生成器函数:yield VS return502 生成器表达式:迭代器遇到列表解析506 生成器函数 VS 生成器表达式507 生成器是单迭代器对象508 用迭代工具模拟zip和map510 为什么你会留意:单次迭代514 内置类型和类中的值生成515 Python 3.0解析语法概括516 解析集合和字典解析517 针对集合和字典的扩展的解析语法517 对迭代的各种方法进行计时518 对模块计时519 计时脚本519 计时结果520 计时模块替代方案523 其他建议527 函数陷阱528 本地变量是静态检测的528 默认和可变对象529 没有return语句的函数531 嵌套作用域的循环变量532 本章小结532 本章习题532 习题解答533 第四部分练习题533 第五部分 模块 第21章 模块:宏伟蓝图539 为什么使用模块540 Python程序架构540 如何组织一个程序541 导入和属性541 标准库模块543 import如何工作543 1.搜索544 2.编译(可选)544 3.运行545 模块搜索路径545 配置搜索路径547 搜索路径的变动548 sys.path列表548 模块文件选择549 高级的模块选择概念550 第三方工具:distutils550 本章小结551 本章习题551 习题解答551 第22章 模块代码编写基础553 模块的创建553 模块的使用554 import语句554 from语句555 from *语句555 导入只发生一次555 import和from是赋值语句556 文件间变量名的改变557 import和from的对等性557 from语句潜在的陷阱558 模块命名空间560 文件生成命名空间560 属性名的点号运算562 导入和作用域562 命名空间的嵌套563 重载模块564 reload基础565 reload实例566 为什么要在意:模块重载567 本章小结568 本章习题568 习题解答568 第23章 模块包570 包导入基础570 包和搜索路径设置571 __init__.py包文件572 包导入实例573 包对应的from语句和import语句574 为什么要使用包导入575 三个系统的传说576 包相对导入578 Python 3.0中的变化578 相对导入基础知识579 为什么使用相对导入581 相对导入的作用域583 模块查找规则总结583 相对导入的应用584 为什么要在意:模块包589 本章小结590 本章习题590 习题解答590 第24章 高级模块话题592 在模块中隐藏数据592 最小化from *的破坏:_X和__all__593 启用以后的语言特性593 混合用法模式:__name__和__main__594 以__name__进行单元测试595 使用带有__name__的命令行参数596 修改模块搜索路径599 Import语句和from语句的as扩展599 模块是对象:元程序600 用名称字符串导入模块603 过渡性模块重载604 模块设计理念607 模块陷阱607 顶层代码的语句次序的重要性608 from复制变量名,而不是连接609 from *会让变量语义模糊610 reload不会影响from导入610 reload、from以及交互模式测试611 递归形式的from导入无法工作612 本章小结613 本章习题613 习题解答613 第五部分练习题614 第六部分 类和OOP 第25章 OOP:宏伟蓝图619 为何使用类620 概览OOP621 属性继承搜索621 类和实例623 类方法调用624 编写类树624 OOP是为了代码重用627 本章小结629 本章习题629 习题解答630 第26章 类代码编写基础631 类产生多个实例对象631 类对象提供默认行为632 实例对象是具体的元素632 第一个例子632 类通过继承进行定制635 第二个例子635 类是模块内的属性637 类可以截获Python运算符638 第三个例子639 为什么要使用运算符重载641 世界上最简单的Python类641 类与字典的关系644 本章小结646 本章习题646 习题解答646 第27章 更多实例649 步骤1:创建实例650 编写构造函数650 在进行中测试651 以两种方式使用代码652 版本差异提示654 步骤2:添加行为方法654 编写方法656 步骤3:运算符重载658 提供打印显示658 步骤4:通过子类定制行为659 编写子类660 扩展方法:不好的方式660 扩展方法:好的方式661 多态的作用663 继承、定制和扩展664 OOP:大思路664 步骤5:定制构造函数665 OOP比我们认为的要简单666 组合类的其他方式667 在Python 3.0中捕获内置属性669 步骤6:使用内省工具670 特殊类属性670 一种通用显示工具671 实例与类属性的关系672 工具类的命名考虑673 类的最终形式674 步骤7(最后一步):把对象存储到数据库中676 Pickle和Shelve676 在shelve数据库中存储对象677 交互地探索shelve678 更新shelve中的对象680 未来方向681 本章小结683 本章习题684 习题解答684 第28章 类代码编写细节686 class语句686 一般形式686 例子687 方法689 例子690 调用超类构造函数691 其他方法调用的可能性691 继承692 属性树的构造692 继承方法的专有化693 类接口技术694 抽象超类695 Python 2.6和Python 3.0的抽象超类696 命名空间:完整的内容698 简单变量名:如果赋值就不是全局变量698 属性名称:对象命名空间698 Python命名空间的“禅”:赋值将变量名分类699 命名空间字典701 命名空间链接704 回顾文档字符串706 类与模块的关系707 本章小结708 本章习题708 习题解答708 第29章 运算符重载710 基础知识710 构造函数和表达式:__init__和__sub__711 常见的运算符重载方法711 索引和分片:__getitem__和__setitem__713 拦截分片713 Python 2.6中的分片和索引715 索引迭代:__getitem__716 迭代器对象:__iter__和__next__717 用户定义的迭代器717 有多个迭代器的对象719 成员关系:__contains__、__iter__和__getitem__721 属性引用:__getattr__和__setattr__723 其他属性管理工具725 模拟实例属性的私有性:第一部分725 __repr__和__str__会返回字符串表达形式726 右侧加法和原处加法:__radd__和__iadd__729 原处加法730 Call表达式:__call__731 函数接口和回调代码732 比较:__lt__、__gt__和其他方法734 Python 2.6的__cmp__方法(已经从Python 3.0中移除了)734 布尔测试:__bool__和__len__735 Python 2.6中的布尔736 对象析构函数:__del__738 本章小结739 本章习题739 习题解答739 第30章 类的设计741 Python和OOP741 通过调用标记进行重载(或不要)742 OOP和继承:“是一个”关系743 OOP和组合:“有一个”关系744 重访流处理器746 为什么要在意:类和持续性748 OOP和委托:“包装”对象749 类的伪私有属性751 变量名压缩概览751 为什么使用伪私有属性752 方法是对象:绑定或无绑定754 在Python 3.0中,无绑定方法是函数756 绑定方法和其他可调用对象757 为什么要在意:绑定方法和回调函数760 多重继承:“混合”类760 编写混合显示类761 类是对象:通用对象的工厂771 为什么有工厂772 与设计相关的其他话题773 本章小结773 本章习题774 习题解答774 第31章 类的高级主题775 扩展内置类型775 通过嵌入扩展类型776 通过子类扩展类型777 新式类779 新式类变化780 类型模式变化781 钻石继承变动785 新式类的扩展789 slots实例789 类特性793 __getattribute__和描述符795 元类795 静态方法和类方法796 为什么使用特殊方法796 Python 2.6和Python 3.0中的静态方法797 静态方法替代方案799 使用静态和类方法800 使用静态方法统计实例801 用类方法统计实例802 装饰器和元类:第一部分805 函数装饰器基础805 装饰器例子806 类装饰器和元类807 更多详细信息808 类陷阱809 修改类属性的副作用809 修改可变的类属性也可能产生副作用810 多重继承:顺序很重要811 类、方法以及嵌套作用域812 Python中基于委托的类:__getattr__和内置函数814 “过度包装”814 本章小结815 本章习题815 习题解答815 第六部分 练习题816 为什么要在意:大师眼中的OOP821 第七部分 异常和工具 第32章 异常基础825 为什么使用异常826 异常的角色826 异常处理:简明扼要827 默认异常处理器827 捕获异常828 引发异常829 用户定义的异常830 终止行为830 为什么要在意:错误检查832 本章小结833 本章习题833 习题解答834 第33章 异常编码细节835 try/except/else语句835 try语句分句836 try/else分句839 例子:默认行为840 例子:捕捉内置异常841 try/finally语句841 例子:利用try/finally编写终止行为842 统一try/except/finally语句843 统一try语句语法845 通过嵌套合并finally和except845 合并try的例子846 raise语句847 利用raise传递异常849 Python 3.0异常链:raise from849 assert语句850 例子:收集约束条件(但不是错误)850 with/as环境管理器851 基本使用852 环境管理协议853 本章小结855 本章习题855 习题解答856 第34章 异常对象857 异常:回到未来858 字符串异常很简单858 基于类的异常858 类异常例子859 为什么使用类异常861 内置Exception类864 内置异常分类865 默认打印和状态866 定制打印显示867 定制数据和行为868 提供异常细节868 提供异常方法869 本章小结870 本章习题870 习题解答870 第35章 异常的设计872 嵌套异常处理器872 例子:控制流程嵌套873 例子:语法嵌套化874 异常的习惯用法876 异常不总是错误876 函数信号条件和raise876 关闭文件和服务器连接877 在try外进行调试878 运行进程中的测试879 关于sys.exc_info879 与异常有关的技巧880 应该包装什么881 捕捉太多:避免空except语句881 捕捉过少:使用基于类的分类883 核心语言总结884 Python工具集884 大型项目的开发工具885 本章小结888 第七部分练习题889 第八部分 高级话题注1 第36章 Unicode和字节字符串893 Python 3.0中的字符串修改894 字符串基础知识895 字符编码方法895 Python的字符串类型897 文本和二进制文件899 Python 3.0中的字符串应用900 常量和基本属性900 转换901 编码Unicode字符串903 编码ASCII文本903 编码非ASCII文本904 编码和解码非ASCII文本904 其他Unicode编码技术905 转换编码907 在Python 2.6中编码Unicode字符串908 源文件字符集编码声明910 使用Python 3.0 Bytes对象911 方法调用912 序列操作913 创建bytes对象的其他方式913 混合字符串类型914 使用Python 3.0(和Python 2.6)bytearray对象915 使用文本文件和二进制文件918 文本文件基础919 Python 3.0中的文本和二进制模式919 类型和内容错误匹配921 使用Unicode文件922 在Python 3.0中读取和写入Unicode922 在Python 3.0中处理BOM924 Python 2.6中的Unicode文件927 Python 3.0中其他字符串工具的变化927 re模式匹配模块927 Struct二进制数据模块928 pickle对象序列化模块931 XML解析工具932 本章小结935 本章习题935 习题解答936 第37章 管理属性938 为什么管理属性938 插入在属性访问时运行的代码939 特性940 基础知识940 第一个例子941 计算的属性942 使用装饰器编写特性943 描述符944 基础知识945 第一个示例947 计算的属性949 在描述符中使用状态信息950 特性和描述符是如何相关的952 __getattr__和__getattribute__953 基础知识954 第一个示例956 计算属性958 __getattr__和__getattribute__比较959 管理技术比较960 拦截内置操作属性963 重访基于委托的Manager967 示例:属性验证970 使用特性来验证971 使用描述符验证973 使用__getattr__来验证974 使用__getattribute__验证976 本章小结977 本章习题977 习题解答977 第38章 装饰器979 什么是装饰器979 管理调用和实例980 管理函数和类980 使用和定义装饰器981 为什么使用装饰器981 基础知识982 函数装饰器982 类装饰器986 装饰器嵌套988 装饰器参数990 装饰器管理函数和类991 编写函数装饰器991 跟踪调用992 状态信息保持选项993 类错误之一:装饰类方法997 计时调用1002 添加装饰器参数1004 编写类装饰器1007 单体类1007 跟踪对象接口1009 类错误之二:保持多个实例1012 装饰器与管理器函数的关系1013 为什么使用装饰器(重访)1015 直接管理函数和类1016 示例:“私有”和“公有”属性1018 实现私有属性1019 实现细节之一1021 公有声明的泛化1022 实现细节之二1024 开放问题1025 Python不是关于控制1029 示例:验证函数参数1030 目标1030 针对位置参数的一个基本范围测试装饰器1031 针对关键字和默认泛化1033 实现细节1036 开放问题1038 装饰器参数 VS 函数注解1039 其他应用程序:类型测试1041 本章小结1042 本章习题1042 习题解答1043 第39章 元类1046 要么是元类,要么不是元类1046 提高魔力层次1047 “辅助”函数的缺点1049 元类与类装饰器的关系:第一回合1051 元类模型1053 类是类型的实例1053 元类是Type的子类1055 Class语句协议1056 声明元类1057 编写元类1058 基本元类1058 定制构建和初始化1059 其他元类编程技巧1060 实例与继承的关系1063 示例:向类添加方法1064 手动扩展1064 基于元类的扩展1065 元类与类装饰器的关系:第二回合1067 示例:对方法应用装饰器1070 用装饰器手动跟踪1070 用元类和装饰器跟踪1071 把任何装饰器应用于方法1073 元类与类装饰器的关系:第三回合1074 “可选的”语言功能1076 本章小结1078 本章习题1078 习题解答1078 第九部分 附录注2

2018-04-15

钉钉 for ubuntu16.04

安装步骤如下: sudo dpkg -i xxx.deb 即可安装成功

2018-03-20

ros的gazeon仿真文件

ros移动机器人gazeon下的建图仿真,传感器为hokuyo激光雷达和kinetic

2018-03-11

自主移动机器人导论

自主移动机器人导论中文版PDF,ROS开发可以参考相应章节

2018-01-28

ROS by Example

ROS by example 英文原版,含代码;有一定英语基础适合看的原版

2018-01-15

unix环境高级编程第三版

本书是被誉为UNIX编程"圣经"的Advanced Programming in the UNIX Environment一书的更新版。在本书第1版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O 库、系统数据文件和信息、进程环境、进程控制、进程关系、信号、线程、线程控制、守护进程、各种I/O、进程间通信、网络IPC、伪终端等方面的内容,还在此基础上介绍了多个应用示例,包括如何创建数据库函数库以及如何与网络打印机通信等。此外,还在附录中给出了函数原型和部分习题的答案。 本书内容权威,概念清晰,阐述精辟,对于所有层次UNIX程序员都是一本不可或缺的参考书。 作者简介 W.Richard Stevens,备受赞誉的技术作家,生前著有多种经典的传世之作,包括《UNIX网络编程》(两卷本)、《TCP/IP详解》(三卷本)和本书第1版。 尤晋元,上海交通大学计算机科学及工程系教授、博士生导师。在科研方面,主要从事操作系统和分布对象计算技术方面的研究;在教学方面,长期承担操作系统及分布计算等课程的教学工作。主编和翻译了多本操作系统教材和参考书,包括《UNIX操作系统教程》、《UNIX高级编程技术》、《UNIX环境高级编程》和《操作系统:设计与实现》等。

2017-12-27

Linux程序设计(中文)第四版

该书适合想要系统的学习linux环境下程序设计的技术人员阅读,有志于学习linux驱动开发的同学也可以一看,本书仅供个人学习,不要随意传播;觉得的不错的可以买正版数据,当做字典也可以!

2017-12-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除