1. 为BankAccount 建立一个类定义.它应该有一些属性,包括账户名(一个字符串).账号(一个字符串或整数)和余额(一个浮点数),另外还要有一些方法显示余额.存钱和取钱. class BankAccount: def __init__(self,account,account_id,account_balance): self.account = account self.account_id = account_id self.account_balance =account_bala…
前言 这一章分为两个部分,处理 CSV 格式的数据和处理 JSON 格式个数据. 处理 CSV 理解 csv csv 的每一行代表了电子表格中的每一行,每个逗号分开两个单元格csv 的内容全部为文本,因此具有简单的优势. csv 模块的应用 csv 模块为 python 自带模块, import csv 即可导入. csv 文件的导入 分两个步骤: 打开这个文件,得到一个 File 对象:exampleFIle = open('example.csv') 使用 csv 的方法 reader(),…
第十四章:呈现数据 理解输入与输出 标准文件描述符 文件描述符 缩写 描述 0 STDIN 标准输入 1 STDOUT 标准输出 2 STDERR 标准错误 1.STDIN 代表标准输入.对于终端界面来说,标准输入是键盘 使用输入重定向符号(<)时,Linux会用重定向指定的文件来替换标准输入文件描述符 2.STDOUT 代表标准输出.对于终端界面来说,标准输出是屏幕 3.STDERR 代表标准错误输出.默认情况下,STDOUT文件描述符和STDERR文件描述符指向同样的地方,即显示器. 重定向…
一.状态依赖性的管理 有界缓存实现的基类 @ ThreadSafe public abstract class BaseBoundedBuffer<E> { @GuardeBy( "this" ) private final E[] buf; @GuardeBy( "this" ) private int tail; @GuardeBy( "this" ) private int head; @GuardeBy( "this…
一.状态依赖性的管理 有界缓存实现的基类 @ ThreadSafe public abstract class BaseBoundedBuffer<E> { @GuardeBy( "this" ) private final E[] buf; @GuardeBy( "this" ) private int tail; @GuardeBy( "this" ) private int head; @GuardeBy( "this…
有时还会需要脚本能够与使用者交互.bash shell提供了一些不同的方法来从用户处获得数据, 包括命令行参数,命令行选项,以及直接从键盘读取输入的能力. 14.1 命令行参数 就是添加在命令后的数据 比如: ./addem  10  30 10  和  30 就是传递的命令行参数 14.1.1 读取参数 bash shell会将一些称为位置参数的特殊变量分配给输入到命令行中的所有参数. 比如: $0:程序名   $1:第一个参数   $2:第2个参数 …… 以此类推直到第九个参数. 每个参数都…
一.状态依赖性管理 对于单线程程序,某个条件为假,那么这个条件将永远无法成真 在并发程序中,基于状态的条件可能会由于其他线程的操作而改变 可阻塞的状态依赖操作的结构 acquire lock on object state while (precondition does not hold) { release lock wait until precondition might hold optionally fail if interrupted or timeout expires rea…
对于初步接触编程语言的朋友,推荐看一看<父与子的编程之旅第2版>,对于完全编程零基础的很友好! 图文并茂,过多的文字堆垒很容易让人产生厌倦情绪,也更容易让人产生放弃的想法.使用了大量插图,凡是稍显复杂的概念,都用漫画比喻来辅助说明. 尽早地引入图形用户界面(GUI)以保持新鲜感.能够做出一个看得到的东西,是一件很有成就感的事情. 以Python语言为例,详尽细致地介绍了Python如何安装.字符串和操作符等程序设计的基本概念. 参考学习: <父与子的编程之旅第2版>高清中文PDF,…
进击的Python[第十四章]:Web前端基础之Javascript 一.javascript是什么 JavaScript 是一种轻量级的编程语言. JavaScript 是可插入 HTML 页面的编程代码. JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行. 1.javascript的表现形式 <!-- 方式一 --> <script type"text/javascript" src="JS文件"></scri…
JAVA之旅(十四)--静态同步函数的锁是class对象,多线程的单例设计模式,死锁,线程中的通讯以及通讯所带来的安全隐患,等待唤醒机制 JAVA之旅,一路有你,加油! 一.静态同步函数的锁是class对象 我们在上节验证了同步函数的锁是this,但是对于静态同步函数,你又知道多少呢? 我们做一个这样的小实验,我们给show方法加上static关键字去修饰 private static synchronized void show() { if (tick > 0) { try { Thread…
第十四章. 地址薄作业 #A Byte of Python #!/usr/bin/env python import cPickle import os #define the contacts file, list global file_contacts global list_contacts file_contacts = 'AddressBook.txt' list_contacts = [] #delete the file try: file_path = os.getcwd()…
Python 3标准库 The Python3 Standard Library by  Example -----------------------------------------第十四章     应用构建模块-----------------------------14.1  argparse:命令行选项和参数解析----------------------------- argparse模块 14.1.1  建立解析器 14.1.2  定义参数 argparse模块 14.1.3 …
第十四章 流式编程 流的一个核心好处是,它使得程序更加短小并且更易理解.当 Lambda 表达式和方法引用(method references)和流一起使用的时候会让人感觉自成一体.流使得 Java 8 更具吸引力. 流式编程采用内部迭代. 流是懒加载的. 流支持 Java 8 采用的解决方案是:在接口中添加被 default(默认)修饰的方法.通过这种方案,设计者们可以将流式(stream)方法平滑地嵌入到现有类中.流方法预置的操作几乎已满足了我们平常所有的需求.流操作的类型有三种:创建流,修…
第二十二章:使用其他shell 什么是dash shell Debian的dash shell是ash shell的直系后代,ash shell是Unix系统上原来地Bourne shell的简化版本. NetBSD Unix操作系统移植了ash shell,并且作为默认shell.NetBSD开发人员给ash shell添加了一些新功能,使它更接近Bourne shell.新功能包括:emacs和vi编辑器命令进行命令行编辑,以及历史命令来查看前面输入的命令.ash shell这个版本也被Fr…
for multiplier in range(5,8): for i in range(2,11): print(i,"x",multiplier,"=",i*multiplier) #可变循环 numstars=int(input("请输入你希望的星:"))for i in range(1,numstars+1): print("*") #可变嵌套循环 numLines = int(input("请输入带星的行有…
本系列博客介绍以python+pygame库进行小游戏的开发.有写的不对之处还望各位海涵. 在上一篇博客中,我们学习了pygame事件与设备轮询.http://www.cnblogs.com/msxh/p/4979380.html 这次我们来一起了解一下如何在pygame中加载位图,以及pygame中一些常用的数学函数. 一.pygame中常用的数学函数 首先介绍两个角度和弧度转换的函数: math.degress()和math.radians(),用法很简单,只要将数值传进去然后接收返回值就可…
Python基础知识(13):函数(Ⅳ) Python内置函数 1.abs:取绝对值 abs(-1) 1 2.all:把序列中的每一个元素拿出来做布尔运算,都为真则返回True,如果序列中有None.0.“”.[].{}.()则返回False all([1,23,0]) False 3.any:只要序列中有一个元素做布尔运算后的值为真,就返回True any([0,None,[],2]) True 4.ascii:把传入的对象转换成字符串 ascii("a") "'a'&qu…
前言 这一章节的主要内容是: 处理时间类型的数据(使用python 的两个模块: time 和 datetime 来处理) 创建多个线程 (使用 threading 模块来创建多个线程) 进行多个进程(使用 subprocess 模块来启动其他应用程序) 谈谈 time 模块 time 模块有两个方法最有用,time.time() 和 time.sleep() 关于 time.time() 这个函数 Unix 纪元:1970年1月1日0点功能:time.time()的返回值是 Unix 纪元的那…
14-3.执行环境.创建运行其他Python脚本的脚本. if __name__ == '__main__': with open('test.py') as f: exec(f.read()) 14-4. os.system().调用os.system()运行程序.附加题:将你的解决方案移植到subprocess.call(). import os from subprocess import call if __name__ == '__main__': os.system('ls') ca…
纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示: { "1":["张三",150,120,100], "2":["李四",90,99,95], "3":["王五",60,66,68] } 请将上述内容写到 student.xls 文件中,如下图所示: #!/usr/bin/python # -*- coding: utf-8 -*- from colle…
函数: def 函数名([参数1],[参数2],[参数3], ... ,[参数n]): 函数体代码 函数名命名规则:同标识符命名相同,但是多了一点,不要和系统函数重名,其实所有命名都是一样只要符合标识符命名,然后不要和系统的各种名字相同就行,但是每一种命名一般都有自己不同的风格,函数名命名风格一般是用下划线分隔法 函数参数分为:位置参数,关键字参数,默认值参数,可变参数, 函数形参位置关系:从左至右应该依次是:位置参数,关键字参数,默认参数,可变参数 位置参数:就是要按照顺序,来传参, 关键字参…
之前的文章我们已经可以根据 re 模块,Xpath 模块和 BeautifulSoup4 模块来爬取网站上我们想要的数据并且存储在本地,但是我们并没有对存储数据的格式有要求,本章我们就来看数据的存储格式 JSON 及 Python 中的 json 模块. JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写.同时也方便了机器进行解析和生成.适用于进行数据交互的场景,比如网站前台与后台之间的数据交互. JSON和XML的比较…
前面两节讲了比较常用的按钮控件,并通过按钮控件实例说明了具体用法.本文要讲的是列表框控件(ListBox)及其使用实例. 列表框控件简介 列表框给出了一个选项清单,允许用户从中进行单项或多项选择,被选中的项会高亮显示.列表框可分为单选列表框和多选列表框,顾名思义,单选列表框中一次只能选择一个列表项,而多选列表框可以同时选择多个列表项. 列表框也会向父窗口发送通知消息.这些通知消息含义如下: LBN_DBLCLK:用户用鼠标双击了一列表项,只有具有LBS_NOTIFY的列表才能发送该消息. LBN…
1.  多任务处理有两种类型:基于进程和基于线程. 2.  进程是指一种“自包容”的运行程序,由操作系统直接管理,直接运行,有自己的地址空间,每个进程一开启都会消耗内存. 3.  线程是进程内部单一的顺序控制流.一个进程拥有多个线程.多个线程共享一个进程的内存空间. 4.  基于进程的特点是允许计算机同时运行两个或更多的程序. 5.  基于线程的多任务处理环境中,线程是最小的处理单位. 6.  基于进程所需的开销更少:每个进程都需要操作系统为其分配独立的内存空间:同意进程中的所有线程都在同意内存…
''' 时间: 9月5日 - 9月30日 要求: 1. 书本内容总结归纳,整理在博客园笔记上传 2. 完成所有课后习题 注:“#” 后加的是备注内容 (每天看42页内容,可以保证月底看完此书) “重点笔记”“本章习题” - 标题1,二级标题用- 标题2,笔记大纲标题.习题题目- 加粗,16px ''' 重点笔记 一. 迭代器:初探 如果对象是实际保存的序列,或者可以砸迭代工具环境中一次产生一个结果的对象,就看作是可迭代的. 二. 列表探析:初探列表解析会产生一个新的列表对象 三. 在文件上使用列…
一.锁的劣势 锁定后假设未释放.再次请求锁时会造成堵塞.多线程调度通常遇到堵塞会进行上下文切换,造成很多其它的开销. 在挂起与恢复线程等过程中存在着非常大的开销,而且通常存在着较长时间的中断. 锁可能导致优先级反转,即使较高优先级的线程能够抢先运行,但仍然须要等待锁被释放,从而导致它的优先级会降至低优先级线程的级别. 二.硬件对并发的支持 处理器填写了一些特殊指令,比如:比較并交换.关联载入/条件存储. 1 比較并交换 CAS的含义是:"我觉得V的值应该为A.假设是.那么将V的值更新为B,否则不…
一些控制脚本的方式:向脚本发送信号.修改脚本优先级,在脚本运行时切换到运行模式 16.1 处理信号 linux利用信号与运行在系统中的进程进行通信. 也可以通过对脚本进行编程,使其在收到特定信号时执行某些命令.从而控制脚本的操作. 16.1.1 重温Linux信号 比如下面这些常见的: 信号   值         描述 1    SIGUP     挂起进程 2    SIGINT     终止进程 3    SIGOUT    停止进程 9    SIGKILL    无条件终止进程 15 …
这两个工具能够极大简化需要进行的数据处理任务. 19.1 文本处理 能轻松实现自动格式化.插入.修改或删除文本元素的简单命令行编辑. sed和gawk就具备上述功能 19.1.1 sed编辑器 被称为流编辑器. 流编辑器会在编辑器处理数据之前预先提供的一组规则来编辑数据流. sed根据命令来处理数据流中的数据.命令可以从命令行输入,也可以存储在一个命令文本文件中. sed编辑器会执行下列操作: 1)一次从输入中读取一行数据 2)根据所提供的编辑命令匹配数据 3)按照命令修改流中的数据 4)将新的…
gawk是一门功能丰富的编程语言,你可以通过它所提供的各种特性来编写好几程序处理数据. 22.1 使用变量 gawk编程语言支持两种不同类型的变量: 内建变量和自定义变量 22.1.1 内建变量 gawk程序使用内建变量来引用程序数据里的一些特殊功能 1.字段和记录分隔符变量 数据字段变量:允许你使用美元符和字段在该记录中的位置值来引用记录对应的字段. 要引用第一个字段就用变量$1,第二个就用$2,-.以此类推. 数据字段是由分隔符来划定的.默认字段分隔符是一个空白字符,也就是空格或者制表符.…
本課主題 HTML 介绍 CSS 介绍 HTML 介绍 HTML 的头部份,重点: 定义HTML 的编码:<meta charset="UTF-8"/> 定义标题: <title name="'janice">s1</title> 定义标题旁边的图片:<link rel="shortcut icon" href="mikasa.icon" />  <head> <…