自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(73)
  • 收藏
  • 关注

原创 Python学习笔记9(遇到的一些知识点记录)

一,遇到的一些函数1 eval函数1, eval() 函数用来执行一个字符串表达式,并返回表达式的值。eval('pow(2,2)')4>>> eval('2 + 2')42, 将字符串转成相应的对象(如list、tuple、dict和string之间的转换)>>> a = "[[1,2], [3,4], [5,6], [7,8], [9,0]]">>> b = eval(a)>>> b[[1, 2], [3,

2021-07-26 21:04:22 159

原创 Python学习笔记8(各种代码技巧及部分数据结构)

https://zhuanlan.zhihu.com/p/435819801, __ future__模块允许用户导入新版 Python 的功能: from future import print_function2, Python 通过许多内置功能支持函数式编程。map() 函数是最有用的函数之一——特别是当它与 lambda 函数结合使用时。x = [1, 2, 3]y = map(lambda x : x + 1 , x)# prints out [2,3,4]print(list(y))

2021-07-26 21:00:10 131

原创 对python中一些模块的理解

一,对有关命令行参数的一些总结:https://blog.csdn.net/itlance_ouyang/article/details/52489674Python命令行常见的解析器有两种,一是getopt模块,二是argparse模块。https://blog.csdn.net/itlance_ouyang/article/details/52489674 (Python命令行命令getopt,argparse) https://blog.csdn.net/a1964543590/article/

2021-07-26 20:55:38 206

原创 进程与线程

1,对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程。线程是最小的执行单元,而进程由至少一个线程组成。如何调度进程和线程,完全由操作系统决定,程序自己不能决定什么时候执行,执行多长时间。2,如果我们要同时执行多个任务怎么办?(即多任务的实现的3种方式)一种是启动多个进程,每个进程虽然只有一个线程,但多个进程可以一块执行多个任务。(多进程模式)还有一种方法是启动一个进程,在一个进程内启动多个线程,这样,多个线程也可以一块执行多个任务。(多线程模式)

2021-07-26 20:49:12 78

原创 网络通信笔记

基础概念网络通信是两台计算机上的两个进程之间的通信。比如,浏览器进程和新浪服务器上的某个Web服务进程在通信,而QQ进程是和腾讯的某个服务器上的某个进程在通信。计算机为了联网,就必须规定通信协议,早期的计算机网络,都是由各厂商自己规定一套协议,为了把全世界的所有不同类型的计算机都连接起来,就必须规定一套全球通用的协议,为了实现互联网这个目标,互联网协议簇(Internet Protocol Suite)就是通用协议标准。Internet是由inter和net两个单词组合起来的,原意就是连接“网络”的网络

2021-07-26 20:48:15 93

原创 Python学习笔记7(IO编程)

由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘、网络等,就需要IO接口。通常,程序完成IO操作会有Input和Output两个数据流。当然也有只用一个的情况,比如,从磁盘读取文件到内存,就只有Input操作,反过来,把数据写到磁盘文件里,就只是一个Output操作。IO编程中,Stream(流)是一个很重要的概念,可以把流想象成一个水管,数据就是水管里的水,但是只能单向流动。Input Stream就是数据从外面(磁盘、网络)流进内存,Output

2021-07-26 20:47:21 75

原创 Python学习笔记6(面向对象编程)

1面向对象编程——Object Oriented Programming,简称OOP,是一种程序设计思想。OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数。面向过程的程序设计把计算机程序视为一系列的命令集合,即一组函数的顺序执行。为了简化程序设计,面向过程把函数继续切分为子函数,即把大块函数通过切割成小块函数来降低系统的复杂度。而面向对象的程序设计把计算机程序视为一组对象的集合,而每个对象都可以接收其他对象发过来的消息,并处理这些消息,计算机程序的执行就是一系列消息在各个对象之间传递

2021-07-26 20:46:47 179 2

原创 Python学习笔记5(模块)

1,在Python中,一个.py文件就称之为一个模块(Module)。如果不同的人编写的模块名相同怎么办?为了避免模块名冲突,Python又引入了按目录来组织模块的方法,称为包(Package)。2,注意,每一个包目录下面都会有一个__init__.py的文件,这个文件是必须存在的,否则,Python就把这个目录当成普通目录,而不是一个包。init.py可以是空文件,也可以有Python代码,因为__init__.py本身就是一个模块,而它的模块名就是mycompany。#!/usr/bin/env p

2021-07-26 20:46:13 176 2

原创 Python学习笔记4(函数式编程)

1, 函数式编程函数是Python内建支持的一种封装,我们通过把大段代码拆成函数,通过一层一层的函数调用,就可以把复杂任务分解成简单的任务,这种分解可以称之为面向过程的程序设计。函数就是面向过程的程序设计的基本单元。而函数式编程(请注意多了一个“式”字)——Functional Programming,虽然也可以归结到面向过程的程序设计,但其思想更接近数学计算。我们首先要搞明白计算机(Computer)和计算(Compute)的概念。在计算机的层次上,CPU执行的是加减乘除的指令代码,以及各种条件判

2021-07-26 20:45:36 81

原创 Python学习笔记3 (高级特性开始)

1,切片L[0:3]表示,从索引0开始取,直到索引3为止,但不包括索引3。即索引0,1,2,正好是3个元素。记住倒数第一个元素的索引是-1。2,迭代字典的迭代:d = {'a': 1, 'b': 2, 'c': 3}>>> for key in d:... print(key)...acb因为dict的存储不是按照list的方式顺序排列,所以,迭代出的结果顺序很可能不一样。如果要迭代value,可以用for value in d.values(),如果要同时

2021-07-26 20:25:38 49

原创 Python学习笔记2 (函数)

1,print(hex(255)+"\n"+hex(1000)) 实现了一条print换行输出。2,return None可以简写为return。3,数据类型检查可以用内置函数isinstance()4,函数可以同时返回多个值,但其实就是一个tuple。在语法上,返回一个tuple可以省略括号,而多个变量可以同时接收一个tuple,按位置赋给对应的值。5,def enroll(name, gender): name,gender就是位置参数def enroll(name, gender, age

2021-07-25 22:45:53 63

原创 Python学习笔记1

1,用任何编程语言来开发程序,都是为了让计算机干活,而计算机干活的CPU只认识机器指令,所以,尽管不同的编程语言差异极大,最后都得“翻译”成CPU可以执行的机器指令。C语言是可以用来编写操作系统的贴近硬件的语言,所以,C语言适合开发那些追求运行速度、充分发挥硬件性能的程序。而Python是用来编写应用程序的高级编程语言。2,Python适合开发哪些类型的应用呢?首选是网络应用,包括网站、后台服务等等;其次是许多日常需要的小工具,包括系统管理员需要的脚本任务等等;另外就是把其他语言开发的程序再包装起来,方便

2021-07-25 22:44:46 102

原创 用map()把名字变为首字母大写,其他小写

def normalize(n): # 基本想到了,但是对MAP函数还是不了解,通过map函数其实就会将normalize函数依次作用到序列的每个元素。 return n[0].upper() + n[1:].lower() # 也可以直接names.title() L1 = ['adam', 'LISA', 'barT']L2 = list(map(normalize, L1))print(L2)...

2021-07-25 22:43:09 317

原创 用filter()求素数

# 这个简单,但有一个问题就是2出不来import mathimport sysdef prime(n):# n的取值2,3,4,5。。。。 if n <= 1: return 0 for i in range(2,n): if n % i == 0:#相当于3%2;4%2,4%3;5%2,5%3,5%4 。。。。。 return 0 return 1if __name__ == "__main__":

2021-07-25 22:42:32 232

原创 查找一个list中最小和最大值,并返回一个tuple

# 查找一个list中最小和最大值,并返回一个tupledef findMinAndMax(L): if len(L)<=0: return(None,None) else: min=L[0] max=L[0] for x in L[1:]: if x<min: min=x elif x>max:

2021-07-25 22:41:59 81

原创 杨辉三角实现

def triangles(): l = [1] while True: yield l l = [1] + [l[k] + l[k+1] for k in range(len(l)-1)] + [1]n = 0results = [] # 这行可以不要for t in triangles(): print(t) results.append(t) # 这行可以不要 n = n + 1 if n == 10:

2021-07-25 22:32:14 47

原创 接受一个list并利用reduce()求积

# Python提供的sum()函数可以接受一个list并求和,请编写一个prod()函数,可以接受一个list并利用reduce()求积from functools import reducedef prod(L): def pro(x,y): return x*y return reduce(pro,L) # return reduce(lambda x,y:x*y, L)print('3 * 5 * 7 * 9 =', prod([3, 5, 7, 9

2021-07-25 22:09:39 284

原创 把字符串转换成浮点数

# 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456from functools import reducedef str2float(s): DIGITS = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9} s1, s2 = s.split('.') def fn1(x, y): retu

2021-07-25 22:09:05 446

原创 去除字符串首尾的空格

# 利用切片操作,实现一个trim()函数,去除字符串首尾的空格def trim(s): if(s[:1] == ' '): s = trim(s[1:]) #通过递归可以消除前面有很多空格 elif(s[-1:] == ' '): s = trim(s[0:-1]) return s

2021-07-25 22:08:01 277

原创 利用filter()筛选出回数

# 回数是指从左向右读和从右向左读都是一样的数,例如12321,909。# -*- coding: UTF-8 -*-def is_palindrome(n): return str(n)==str(n)[::-1] # str(n)[::-1]实现字符串翻转 # return n == int(str(n)[::-1]) output = filter(is_palindrome, range(1, 1000))print('1~1000:', list(output))...

2021-07-25 19:07:48 232

原创 修改列表生成式,使列表中的字符串小写

如果list中既包含字符串,又包含整数,由于非字符串类型没有lower()方法,所以列表生成式会报错.使用内建的isinstance函数可以判断一个变量是不是字符串:>>> x = 'abc'>>> y = 123>>> isinstance(x, str)True>>> isinstance(y, str)False请修改列表生成式,通过添加if语句保证列表生成式能正确地执行:(当时写的)L1 = ['Hello',

2021-07-24 22:50:55 160

原创 while True学习练习

d = {"zhang":'666',"duo":777}while True: n = input("请输入你的用户名:") if n in d: break else: print('您输入的用户名不存在,请重新输入') # continue count = 5while True: # 也可以while count x = input("请输入您的密码:") if x == d[n]:

2021-07-24 22:48:45 81

原创 generator yield,send理解

https://www.cnblogs.com/xhcdream/p/8304953.html1, 第一种创建生成器的方法:使用()创建生成器,如果使用[]则创建列表。然后可以通过next一直产生新的数据,直到最后一个报异常,通过for遍历不会报异常, 也可以使用a.next(), 就是next(a)=a.next(), 也可以通过for遍历生成器.最开始next(t)=t.send(None)其实next()和send()在一定意义上作用是相似的,区别是send()可以传递yield表达式的值进去,而

2021-07-24 22:45:40 45

原创 defaultdict函数以及工厂函数的理解

1,defaultdict的作用是在于,当字典里的key不存在但被查找时,返回的不是keyError而是一个默认值。defaultdict(function_factory)接受一个工厂函数作为参数,构建的是一个类似dictionary的对象,其中keys的值,自行确定赋值,但是values的类型,是function_factory的类实例,而且具有默认值。比如defaultdict(int)则创建一个类似dictionary对象,里面任何的values都是int的实例,而且就算是一个不存在的key, d

2021-07-24 22:45:12 1031

原创 Python实现子类调用父类的方法

class A: def __init__(self): self.namea="aaa" def funca(self): print "function a : %s"%self.nameaclass B(A): def __init__(self): self.nameb="bbb" def funcb(self): print "function b : %s"%self.namebb=B()pri

2021-07-24 22:43:56 506

原创 进程与线程、多线程协程并行并发概念理解

1,进程与线程的区别:1,线程是程序执行的最小单位,是进程的实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位,而进程是操作系统分配资源的最小单位 (这句话一定要理解);2,一个进程可以有多个线程,多个线程也可以并发执行;3,进程之间相互独立,但同一进程下的各个线程之间共享程序的内存空间(包括代码段、数据集、堆等)及一些进程级的资源(如打开文件和信号),某进程内的线程在其它进程4,不可见;一个线程使用某些共享内存时,其他线程必须等它结束,才能使用这一块内存。

2021-07-24 22:43:07 136

原创 python asyncio文档学习

https://docs.python.org/3/library/asyncio-task.html?highlight=asyncio%20sleep#asyncio.sleepCoroutines and TasksCoroutines declared with async/await syntax is the preferred way of writing asyncio applications. For example, the following snippet of code (r

2021-07-24 22:42:04 390

原创 yield的理解

1,协程有四个状态,可以使用inspect.getgeneratorstate(…)函数确定:GEN_CREATED # 等待开始执行GEN_RUNNING # 解释器正在执行(只有在多线程应用中才能看到这个状态)GEN_SUSPENDED # 在yield表达式处暂停GEN_CLOSED # 执行结束import inspect# 协程使用生成器函数定义:定义体中有yield关键字。def simple_coroutine(): print('->

2021-07-24 22:38:49 64

原创 coroutine,task,future的理解

Awaitables我们说如果一个对象可以在await表达式中使用,那么它就是一个awaitable对象。许多asyncio API旨在接受awaitable。There are three main types of awaitable objects: coroutines, Tasks, and Futures.coroutinePython coroutines are awaitables and therefore can be awaited from other coroutines

2021-07-24 22:37:29 297

原创 python asyncio 一些函数

async def 用来定义异步函数,其内部有异步操作。每个线程有一个事件循环,主线程调用asyncio.get_event_loop()时会创建事件循环,你需要把异步的任务丢给这个循环的run_until_complete()方法,事件循环会安排协同程序的执行。await 关键字加在需要等待的操作前面。如果我们需要请求多个URL该怎么办呢,同步的做法访问多个URL只需要加个for循环就可以了。但异步的实现方式并没那么容易,在之前的基础上需要将hello()包装在asyncio的Future对象中,然.

2021-07-24 22:36:39 239

原创 计算机网络笔记

computer-network第一章 引言1,“计算机网络”来表示一组通过单一技术相互连接的自主计算机集合。如果两台计算机能够交换信息, 则称这两台计算机是相互连接的(interconnected)。2,计算机网络和分布式系统(distributed system)这两个概念容易使人混淆。两者的关键差别在于:由一组独立计算机组成的分布式系统呈现给用户的是一个关联系统。一般来说,在用户看来,分布式系统只是一个模型或范型。通常在操作系统之上有一层软件负责实现这个模型,这个软件就称为中间件(middl

2021-07-18 23:24:44 166 1

原创 网络模拟(Network_simulation)

https://en.wikipedia.org/wiki/Network_simulationIn computer network research, network simulation is a technique whereby a software program models the behavior of a network by calculating the interaction between the different network entities (routers, swi

2021-07-18 23:23:17 1228

原创 什么是离散事件模拟(DES)

DES(Discrete event simulation)参考网址:https://www.ncbi.nlm.nih.gov/books/NBK293948/https://whatis.techtarget.com/definition/discrete-event-simulation-DEShttp://www.albrechts.com/mike/DES/Introduction%20to%20DES.pdfhttps://en.wikipedia.org/wiki/Discrete_

2021-07-18 23:22:24 6722

原创 Getting-Started-with-TensorFlow-

Getting-Started-with-TensorFlow-对这本书总结:第5章:深度学习深度学习在许多应用中,例如图像识别和语音识别取得了前所未有的成果。原因有二:硬件的进步,新处理器的可用性,例如图形处理单元(gpu); 第二个是可以找到更多的数据集来训练一个系统,需要对某一深度的架构进行训练,并具有高维度的输入数据。深度学习由一组方法组成,这些方法允许系统在多个层次上获得数据的分层表示。这是通过组合简单的单元(而不是线性)来实现的,每一个单元都从输入层开始,从输入级转换为一个更高层次的表

2021-07-18 22:22:00 110

原创 Linux笔记1

Linuxhttps://www.tutorialspoint.com/unix/unix-vi-editor.htmhttps://ryanstutorials.net/linuxtutorial/vi.phpUnix的哲学是“没有消息就是好消息”Linux中的许多事情不是直接完成的,而是通过了解系统的某些命令和方面的行为,并以创造性的方式使用它们来达到预期的结果。请记住,在介绍中,我们讨论了命令行,为您提供了一系列构建块。您可以随意使用这些构建块,但如果您了解它们是如何发挥功能的,那么您就可以真

2021-07-18 20:13:26 151

原创 Linux笔记

1drwxr-xr-x 2 ryan users 4096 May 05 17:25 alsa.d第一个字符表示它是普通文件( - )还是目录(d)接下来的9个字符是文件或目录的权限,前三是所有者(owner)的权限,中三是组的权限,后三是其他人(others)的权限。下一个字段是块的数量(不要太担心这个)。下一个字段是文件或目录的所有者(在本例中为ryan)。下一个字段是文件或目录所属的组(在本例中为用户)。以下是文件大小。接下来是文件修改时间。最后,文件或目录的实际名称。2

2021-07-18 20:05:35 227 1

原创 解决问题的能力

https://ryanstutorials.net/problem-solving-skills/1,态度要成为一个令人敬畏的问题解决者,首先我们需要从正确的态度开始。将它们中的一些写下来会很好,你会定期看到它们,所以你总是在提醒自己。对以下可能性持开放态度:您遇到的实际问题可能与您认为的问题有所不同。您认为导致问题的原因可能实际上不是造成问题的原因。最好的选择可能是抛弃你的解决方案,然后从另一个方向重新开始。你对任何事物和一切事物的信念都是错误的。伟大的新想法往往来自挑战我们对

2021-07-17 23:48:54 219

原创 平时遇到的各种知识记录

- 网上学到的一些知识一,gossip 算法http://www.docin.com/p-1425281621.html (论文,有讲解历史)https://www.cnblogs.com/dyf6372/p/3528193.html  https://www.cnblogs.com/xingzc/p/6165084.html (两个基本相同,讲得比较细)https://blog.csdn.net/frankchina/article/details/51385367 https://my

2021-07-15 21:33:12 50

原创 廖雪峰老师Git笔记2

1, 远程仓库1, 本地Git仓库和GitHub仓库之间的传输(通过SSH加密的),步骤:第1步:创建SSH Key。在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步。如果没有,打开Shell(Windows下打开Git Bash),创建SSH Key:$ ssh-keygen -t rsa -C "youremail@example.com"如果一切顺利的话,可以在用户主目录里找到.ssh目录,里面

2021-07-15 21:30:31 81

原创 廖雪峰老师Git学习笔记1

1,Git是目前世界上最先进的分布式版本控制系统。CVS作为最早的开源而且免费的集中式版本控制系统,直到现在还有不少人在用。由于CVS自身设计的问题,会造成提交文件不完整,版本库莫名其妙损坏的情况。开源而且免费的SVN修正了CVS的一些稳定性问题,是目前用得最多的集中式版本库控制系统。除了免费的外,还有收费的集中式版本控制系统,比如IBM的ClearCase.集中式版本控制系统,版本库是集中存放在中央服务器的,而干活的时候,用的都是自己的电脑,所以要先从中央服务器取得最新的版本,然后开始干活,干完活了

2021-07-15 21:29:57 93

空空如也

空空如也

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

TA关注的人

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