摘要:
如果输入$ git remote add origin git@github.com:djqiang(github帐号名)/gitdemo(项目名).git 提示出错信息:fatal: remote origin already exists. 解决办法如下: 1、先输入$ git remote r 阅读全文
posted @ 2018-03-04 21:57
hzhang_NJU
阅读(152)
评论(0)
推荐(0)
摘要:
第一步:建立git仓库 第二步:将项目的所有文件添加到仓库中 第三步:将add的文件commit到仓库 第四步:去github上创建自己的Repository 第五步:重点来了,将本地的仓库关联到github上 第六步:上传github之前,要先pull一下,执行如下命令: 第七步,也就是最后一步, 阅读全文
posted @ 2018-03-04 16:04
hzhang_NJU
阅读(181)
评论(0)
推荐(0)
摘要:
当函数的参数不确定时,可以使用 和 ,` args key kwargs key args list kwargs key value dictionary`, just use " " to collect all remaining arguments into a tuple 称之为 称之为 阅读全文
posted @ 2018-03-04 14:47
hzhang_NJU
阅读(159)
评论(0)
推荐(0)
摘要:
浅拷贝 只拷贝父对象,不会拷贝父对象中的子对象。如果该对象没有子对象的话,其浅拷贝和赋值的结果是一样的。浅拷贝可以通过导入copy模块中的copy()方法来完成,或者调用对象本身的copy()方法。例: 通过上述的例子可以看出,我们改变变量a中父对象的值,不会影响变量b,但是改变变量a中子对象的值, 阅读全文
posted @ 2018-03-04 14:47
hzhang_NJU
阅读(146)
评论(0)
推荐(0)
摘要:
1. 参数 用途表格: | 函数名 | 参数 | 调用者 | 功能 | | | | | | | \__new__ | self | | | |\_init__ | cls | | | |\__str__ | self | | | |\__mro__ | None | | | 阅读全文
posted @ 2018-03-04 14:46
hzhang_NJU
阅读(143)
评论(0)
推荐(0)
摘要:
keys()返回一个dict所有的key的list,values()返回一个dict所有value的list 阅读全文
posted @ 2018-03-04 14:45
hzhang_NJU
阅读(137)
评论(0)
推荐(0)
摘要:
以下内容整理都来自尚学堂的python基础的笔记 1. is 和== is 是instance级别的相等,很严格 == 是value层次的相等,很松 2. 深拷贝与浅拷贝: 3. 阅读全文
posted @ 2018-03-04 14:45
hzhang_NJU
阅读(134)
评论(0)
推荐(0)
摘要:
is 判断两个变量是否引用同一个对象,类比java的equal(); == 判断对象的内容是否相同,类比java的== is not判断两个变量引用自不同的对象,而 != 判断两个变量的值不同 id() 可以查看变量(或者叫对象)的内存地址,可以分析两个变量分别引用哪一个对象 结论: 整数,字符串这 阅读全文
posted @ 2018-03-04 14:44
hzhang_NJU
阅读(214)
评论(0)
推荐(0)
摘要:
游戏规则: 有一个筛子游戏: 1.已知:有2个玩家,每个玩家有3个骰子(dice) 2.问:猜测这6个骰子的点数的类型及每一类的个数 (比如1点出现3次,6点出现3次) 类的设计 UNL之类图: 中文描述类的结构 1.骰子游戏本身是个class,名称为DiceGame 2.玩家是一个class,名称 阅读全文
posted @ 2018-03-04 14:35
hzhang_NJU
阅读(493)
评论(0)
推荐(0)
摘要:
注:在与本文件同级目录下,新建backup stus.txt和stus.txt 阅读全文
posted @ 2018-03-04 14:34
hzhang_NJU
阅读(156)
评论(0)
推荐(0)
摘要:
待完善 阅读全文
posted @ 2018-03-04 14:27
hzhang_NJU
阅读(96)
评论(0)
推荐(0)
摘要:
参见分类 "数据库" 阅读全文
posted @ 2018-03-04 14:26
hzhang_NJU
阅读(123)
评论(0)
推荐(0)
摘要:
import os rename(old,new):只能重命名文件名 renames(old,new): 文件名,路径,均可以重命名 阅读全文
posted @ 2018-03-04 14:25
hzhang_NJU
阅读(123)
评论(0)
推荐(0)
摘要:
应用1: 批量修改文件名: 应用2: 给定一个目录和kewword,查找哪些\.py文件有这个keyword (编辑器的搜索功能) 阅读全文
posted @ 2018-03-04 14:24
hzhang_NJU
阅读(116)
评论(0)
推荐(0)
摘要:
三个命令: 交互调试: 执行时调试 {最常用的,必须掌握} 常用命令 几个例子: 阅读全文
posted @ 2018-03-04 14:23
hzhang_NJU
阅读(101)
评论(0)
推荐(0)
摘要:
复习异常: try: 有可能发生异常部分 print('try...') r = 10 / 2 r = 10 / 0 print('result:', r) 如果正常会走到这里 except ZeroDivisionError as e: 发生除零异常会走到这里 {没有就跳过except} prin 阅读全文
posted @ 2018-03-04 14:20
hzhang_NJU
阅读(106)
评论(0)
推荐(0)
摘要:
调试debug 1. print, {到处都是print(),影响阅读} 2. assert {和print差不多,但是可以在控制台写 python O 关闭assert} 3. logging :通过设置level,同一个语句输出不同级别的debug信息。 而且,一条语句可以同时输出到不同地方 4 阅读全文
posted @ 2018-03-04 14:20
hzhang_NJU
阅读(123)
评论(0)
推荐(0)
摘要:
文档测试: Python内置的“文档测试”(doctest)模块可以直接提取注释中的代码并执行测试。 mydict2.py class Dict(dict): 下面这些'''xxx'''部分即为自定义的测试语句,写成了注释。 ''' Simple dict but also support acce 阅读全文
posted @ 2018-03-04 14:19
hzhang_NJU
阅读(110)
评论(0)
推荐(0)
摘要:
单元测试:对一个函数,类,模块进行测试:TDD(测试驱动开发) 在同一个目录下建两个py文件:mydict.py和Testmydict.py mydict.py class Dict(dict): def __init__(self, kw): super().__init__( kw) def _ 阅读全文
posted @ 2018-03-04 14:18
hzhang_NJU
阅读(79)
评论(0)
推荐(0)
摘要:
1. 分类与语法: 系统解释器自动捕获异常 写程序自己捕获并展示: try except else finally 注1:一旦引发了一个异常,程序就不会往下走,就不会引发其他的异常 注2:try包住有可能会出错的代码块,然后为它定义一个except部分输出异常信息。那么try部分一旦发生异常,整个程 阅读全文
posted @ 2018-03-04 14:17
hzhang_NJU
阅读(118)
评论(0)
推荐(0)
摘要:
3. 自定义异常: 自定义一个异常class,默认继承ExceptionError raise 抛出一个自定义的异常class的对象 python class PasswordException(Exception): def __init__(self,pw,min_length): self.p 阅读全文
posted @ 2018-03-04 14:17
hzhang_NJU
阅读(106)
评论(0)
推荐(0)
摘要:
正则表达式:字符串匹配 1.单字符表示: . = 通配 /d = 数字 /w = 字母及数字 /s = 空格,Tab,\n,\t这些空白符 ''' 2.字符个数: ''' = 任意个(包括0) + = 至少一个 ? = 0或1个 {n} = n个 {n,m} = n~m个 ''' 3.组合举例: ' 阅读全文
posted @ 2018-03-04 14:15
hzhang_NJU
阅读(114)
评论(0)
推荐(0)
摘要:
多线程,待完善 阅读全文
posted @ 2018-03-04 14:14
hzhang_NJU
阅读(93)
评论(0)
推荐(0)
摘要:
待完善 阅读全文
posted @ 2018-03-04 14:14
hzhang_NJU
阅读(104)
评论(0)
推荐(0)
摘要:
多进程,待完善 阅读全文
posted @ 2018-03-04 14:13
hzhang_NJU
阅读(108)
评论(0)
推荐(0)
摘要:
1. 对象池: 为了减小创建相同对象的开销,python将以下的数据类型的instance放在对象池中(常驻内存)。如果需要的对象已经创建过,就直接去池子中拿:(无须每次都创建和销毁) 小整数:[ 5,257) 好像有变化了 单个英文字符 单个单词(以空格为分界线,有空格就是一个句子) c1 = ' 阅读全文
posted @ 2018-03-04 14:12
hzhang_NJU
阅读(177)
评论(0)
推荐(0)
摘要:
常用标准库: 常用第三方库: 阅读全文
posted @ 2018-03-04 14:11
hzhang_NJU
阅读(117)
评论(0)
推荐(0)
摘要:
1. 模块 模块 工具包;模块内类与函数 工具 python中一个py文件可以是一个模块 引入方式: import 模块名1,模块2... 模块名.函数名 import math print(sqrt(2)) 这样会报错 print(math.sqrt(2)) 这样才能正确输出结果 from 模块名 阅读全文
posted @ 2018-03-04 14:07
hzhang_NJU
阅读(127)
评论(0)
推荐(0)
摘要:
2. 自定义类: | name | 说明 | 触发时机及功能 | | | | | | | 限制本类的instance的所有属性(以tuple的形式写死了,不能再定义更多的属性),但无法限制其子类| 定义实例属性时| | | 类似统计元素个数| | | | 将普通实例变成Iterable对象| for 阅读全文
posted @ 2018-03-04 14:06
hzhang_NJU
阅读(130)
评论(0)
推荐(0)
摘要:
1. 基本结论 意义:集合具有迭代能力Iterable 可迭代:iterable isinstance([], Iterable) 能力 able 迭代器:iterator isinstance([], Iterator) 具备能力且本身可以是无穷的数据流才是tor 转化法:iterable 通过i 阅读全文
posted @ 2018-03-04 14:05
hzhang_NJU
阅读(259)
评论(0)
推荐(0)
摘要:
1. 列表生成式 列表生成式 method_1 {太原始,不推荐} L = [] for i in range(1,11): [1,11) L.append(i i) print(L) method_2 最佳的办法 L1 = [x x for x in range(1,11)] print(L1) 阅读全文
posted @ 2018-03-04 14:04
hzhang_NJU
阅读(197)
评论(0)
推荐(0)
摘要:
1. generator表达式: generator表达式 def test1(): L = [ x 2 for x in range(5)] list conprehension G = ( x 2 for x in range(5)) p(next(G)) p(next(G)) p(next(G 阅读全文
posted @ 2018-03-04 14:04
hzhang_NJU
阅读(109)
评论(0)
推荐(0)
摘要:
1. 类装饰器必须接受一个callable对象 python强调“函数即对象”,说明对象可以当做函数用。即支持 对象名(实参) :背后的原理是为一个对象自定义__call__()方法,对象立即变成 callable对象, 当执行 对象名(实参) 时,自动激发该对象的__call__() class 阅读全文
posted @ 2018-03-04 14:02
hzhang_NJU
阅读(189)
评论(0)
推荐(0)
摘要:
1. 原理 L:local,局部作用域,即函数中定义的变量; E:enclosing,嵌套的父级函数的局部作用域,即包含此函数的上级函数的局部作用域,但不是全局的; G:global,全局变量,就是模块级别定义的变量; B:built in,系统固定模块里面的变量,比如int, bytearray等 阅读全文
posted @ 2018-03-04 14:01
hzhang_NJU
阅读(128)
评论(0)
推荐(0)
摘要:
1. 定义: Decorator(即装饰器)其实就是闭包实现的一个函数:把{一个待扩展功能的函数Fun}当做参数传入一个外函数Out,在外函数内部定义的内函数In“装饰扩充”Fun,然后返回In。 一句话描述:把一个函数A当参数传入另一个函数B,并返回一个函数C def Out(Func): def 阅读全文
posted @ 2018-03-04 14:01
hzhang_NJU
阅读(117)
评论(0)
推荐(0)
摘要:
1. inner_sum便是一个闭包,他的生命周期和自由变量args一样。 def calc_sum( args): 可变参数 def inner_sum(): ix = 0 局部变量,暂存累加结果 for y in args: args是calc_sum这个外部函数的变量, 被内部函数{闭包}in 阅读全文
posted @ 2018-03-04 14:00
hzhang_NJU
阅读(145)
评论(0)
推荐(0)
摘要:
1. 定义: 内层函数使用了外层函数作用域的变量(属于E区变量),则称内部函数为闭包。简单说就是: 外层函数里面定义了内层函数 内层函数引用了外层函数的变量(E区变量) 这不是闭包,只是函数的嵌套 def fun1(): def fun2(): print("fun2\n") return fun2 阅读全文
posted @ 2018-03-04 13:59
hzhang_NJU
阅读(115)
评论(0)
推荐(0)
摘要:
1.原理 1.全局变量是指函数外定义的,局部是指函数体内定义的;函数内部global 定义的也是全局。 2.全局变量: 读操作:函数局部区或者全局区,均可以直接引用。(除非被局部变量屏蔽,想不被屏蔽,用global声明) 写操作:想要在函数局部区引用全局变量 1)若全局变量是dict和list (注 阅读全文
posted @ 2018-03-04 13:51
hzhang_NJU
阅读(78)
评论(0)
推荐(0)
摘要:
2. 自定义类: | name | 说明 | 触发时机及功能 | | | | | | | 限制本类的instance的所有属性(以tuple的形式写死了,不能再定义更多的属性),但无法限制其子类| 定义实例属性时| | | 类似统计元素个数| | | | 将普通实例变成Iterable对象| for 阅读全文
posted @ 2018-03-04 13:50
hzhang_NJU
阅读(101)
评论(0)
推荐(0)
摘要:
filter 定义:传入一个 与`Iterable对象I f(I(i)) True或False I(i)`。起到过滤器的功能 def is_odd(x): return (x%2 == 1) L1 = list(filter(is_odd, range(11))) filter和map类似,返回值都 阅读全文
posted @ 2018-03-04 13:46
hzhang_NJU
阅读(99)
评论(0)
推荐(0)
摘要:
1. 常用的内建属性: | name | 说明 | 触发时机及功能 | | | | | | |对创建好的对象进行初始化| 在__new__()之后,对象属性要赋值时使用| | |创建类的对象|创建实例,为实例分配内存| | | 实例所在的类| | | | 实例的字符串表示| ,如果没有自定义 ,默认 阅读全文
posted @ 2018-03-04 13:46
hzhang_NJU
阅读(89)
评论(0)
推荐(0)
摘要:
functools functools 是python2.5被引入的,一些工具函数放在此包 import functools print(dir(functools)) 偏函数 partiial function:把原函数的某些参数设为默认参数,返回一个新函数名,以简化函数调用的形式 实例1: 1. 阅读全文
posted @ 2018-03-04 13:46
hzhang_NJU
阅读(105)
评论(0)
推荐(0)
摘要:
sorted 传入一个 和排序参数 命名关键字参数 {注意key参数可以传入一个 } 等价于 对每一个 都先执行 ,再拿来排序 1.普通数值型 L1 = [36,5, 12,9, 21] L1 = sorted(L1) print(L1,'\n') L1 = sorted(L1, key=abs) 阅读全文
posted @ 2018-03-04 13:45
hzhang_NJU
阅读(98)
评论(0)
推荐(0)
摘要:
函数式编程 map map(f, I) 等价于对I的每个元素I(i)都执行f, 然后再把所有f(I(i))拼接成一个Iterator并返回 map传入函数和一个Iterable(一个序列),返回一个Iterator 注意到Iterator是惰性序列,只有被调用才能被获取,要通过诸如list,for等 阅读全文
posted @ 2018-03-04 13:40
hzhang_NJU
阅读(110)
评论(0)
推荐(0)
摘要:
map,reduce, filter, sorted 根据提供的函数对指定序列做映射 第一个参数为一个函数对象(比如lambda表达式,比如一个普通函数) 第二个(或者更多)参数接收一个 。 对 中每一个元素执行 ,得到 把所有 拼接成一个 ,返回出去 因为 是惰性序列,需要用 迭代出来 函数需要一 阅读全文
posted @ 2018-03-04 13:39
hzhang_NJU
阅读(117)
评论(0)
推荐(0)
摘要:
1. 使用 @property 原始的实现访问限制的方法:先设置私有属性,再内部编写get(),set(),外部只能访问set和get class Student(object): def Get_Score(self): return self.__score def Set_Score(self 阅读全文
posted @ 2018-03-04 13:33
hzhang_NJU
阅读(166)
评论(0)
推荐(0)
摘要:
1. 为instance动态增加属性和方法{对象层次的} class Student(object): pass s1 = Student() 给s1新增属性 s1.name = 'haozhang' print(s1.name,'\n') 给s1新增方法 def SetAge(self,age): 阅读全文
posted @ 2018-03-04 13:32
hzhang_NJU
阅读(127)
评论(0)
推荐(0)
摘要:
10. 设计模式: 1. \__new__()的作用: 真正构造一个instance并return,如果不return,那么就没有instance 系统默认隐式地调用这两个魔术方法,当然,自己也可以重写,以及显式调用 class Animal(object): def __init__(): pri 阅读全文
posted @ 2018-03-04 13:28
hzhang_NJU
阅读(126)
评论(0)
推荐(0)
摘要:
1. 举例: class People(self,name,age): def __init__(self,name,age): self.name = name self.age = age def run(self): print("I can run") p1 = People("Tom", 阅读全文
posted @ 2018-03-04 13:26
hzhang_NJU
阅读(129)
评论(0)
推荐(0)
摘要:
问题背景: notepad可以很方便的调用cmd,使用python自带的python.exe编译python源代码。但是插件很少,功能远不如sublime sublime插件很多,代码提示和自动完成以及pep8标准都很好,碾压notepada。但是无法直接调用cmd,无法弹出黑窗口来编译源代码。(注 阅读全文
posted @ 2018-03-04 13:22
hzhang_NJU
阅读(151)
评论(0)
推荐(0)
摘要:
1. 安装环境,配置编辑器,半天。 2. 廖雪峰的教程:基本语法期,手敲。慢一点。2天足够了 3. 廖的后面稍微高级部分,建议跳看,而且不要敲他的代码。因为讲得太散,不深入原理,而且不够全面,看了敲了还是不会。我建议把它当做一个index,按照这个index去看书(python入门手册或者pytho 阅读全文
posted @ 2018-03-04 13:21
hzhang_NJU
阅读(270)
评论(0)
推荐(0)
摘要:
只要是我觉得最快的方法就行,不用学各种稀奇古怪的方法学python。 就是廖雪峰的文章,然后尚学堂的视频补充,最后尚学堂的实战视频。 再后来再看。 不要看网上稀奇古怪的教材,先把我这个路线走好再说。 至于英文文档,官方手册,等我搞完了搞懂了,再去知乎上问下怎么看官方手册?毕竟英文的,毕竟那个我看不太 阅读全文
posted @ 2018-03-04 13:19
hzhang_NJU
阅读(142)
评论(0)
推荐(0)
摘要:
语法特点 数据类型 数据结构 字符与字符串 输入输出 列表生成式 切片 阅读全文
posted @ 2018-03-04 13:18
hzhang_NJU
阅读(101)
评论(0)
推荐(0)

浙公网安备 33010602011771号