Python
未读网络编程 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运行,你就会发现,这两个python的文件分别运行的很好。但是如果这两个程序之间想要传递一个数据,你要怎么做呢? 这个问题以你现在的知识就可以解决了,我们可以创建一个文件,把a.py想要传递的内容写到文件中,然后b.py从这个文件中读取内容就可以了 但是当你的a.py和b.py分别在不同电脑上的时候,你要怎么办呢? 类似的机制有计算机网盘,qq等等。我们可以在我们的电脑上和别人聊天,可以在自己的电脑上向网盘中上传、下载内容。这些都是两个程序在通信。 软件开发架构 我们了解的涉及到两个程序之间通讯的应用大致可以分为两种: 第一种是应用类:qq、微信、网盘、优酷这一类是属于需要安装的桌面应用 第二种是web类:比如百度、知乎、博客园等使用浏览器访问就可以直接使用的应用 这些应用的本质其实都是两个程序之间的通讯。而这两个分类又对应了两个软件开发的架构~ c/s架构 C/S即:Client与Server ,中文意思:客户端与服务器端架构,这种架构也是从用户层面(也可以是物理层面)来划分的。 ...
Python
未读什么是异常 异常是程序发生错误的信号。程序一旦出现错误,便会产生一个异常,若程序中没有处理它,就会抛出该异常,程序的运行也随之终止。在Python中,错误触发的异常如下 而错误分成两种,一种是语法上的错误SyntaxError,这种错误应该在程序运行前就修改正确 12345>>> if File "<stdin>", line 1 if ^SyntaxError: invalid syntax 另一类就是逻辑错误,常见的逻辑错误如 12345678910111213141516171819202122232425## TypeError:数字类型无法与字符串类型相加1+’2’## ValueError:当字符串包含有非数字的值时,无法转成int类型num=input(">>: ") #输入helloint(num)## NameError:引用了一个不存在的名字xx## IndexError:索引超出列表的限制l=['allen','aa']l ...
Python
未读b287d1b6e0bad61174d643199e7e340519a5ff6f3823822d82f8204f2dd22dcf52544522b74fe41a0ae7217ea447a28def0e8c77349cae19a9de1c2b317a0c5687b6c0e86f3dc93b6b36600b65f3ef93970f1dafa702f80a14e4f565850081c4d0eb1162d71c089ea8eae7004fde8b1d95a8c509a6dd47f657c6348fd206091e86c5aedf71d96a94e521a1550bc6796225348f04994749f1082a49e3579b9a627304cb30763bae62c5d41fd27716e6f53d96d6615d06bb60f348f45a250a0627d8fa27b3ff9c0aa752cfe2a0509e8beaccff391480cfdc1f064d172859aa7347532aa92e8eefd8b33574446d757df47c567c32f0d1f4dd93e ...
Python
未读类(class): 定义了一件事物的抽象特点。 对象(object):是类的实例。在操作系统中,系统给对象分配内存空间,而不会给类分配内存空间。 继承(inheritance):是指通过一个已有的类(父类)定义另外一个类(子类),子类共享父类开放的属性和方法。 封装性(Excapsulation):封装性是指类在定义时可以将不能或不需要其他类知道的成员定义成私有成员,而只公开其他类需要的使用的成员,以达到信息隐蔽和简单化的作用。 多态性(Polymorphism):是指同一方法作用于不同对象身上,可以有不同的解释,产生不同的执行结果。在具体的实现方式上,多态性是允许开发者将父对象的变量设置为对子对象的引用,赋值后,父对象变量就可以根据当前的赋值给他的子对象的特性以不同的方式运作。 面向对象编程 面向过程 与 面向对象 面向过程的程序设计:核心是过程二字,过程指的是解决问题的步骤,即先干什么再干什么…面向过程的设计就好比精心设计好一条流水线,是一种机械式的思维方式。 优点是:复杂度的问题流程化,进而简单化(一个复杂的问题,分成一个个小的步骤去实现,实现小的步骤将会非常简单) 缺 ...
Python
未读time与datetime模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。 格式化的时间字符串(Format String) 结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时) 1234567import time##--------------------------我们先以当前时间为准,让大家快速认识三种形式的时间print(time.time()) # 时间戳:1487130156.419527print(time.strftime("%Y-%m-%d %X")) #格式化的时间字符串:'2017-02-15 11:40:53'print(time.localtime()) #本地时区的struct_timeprint(time.gmtime()) ...
Python
未读模块介绍 在Python中,一个py文件就是一个模块,文件名为xxx.py模块名则是xxx,导入模块可以引用模块中已经写好的功能。如果把开发程序比喻成制造一台电脑,编写模块就像是在制造电脑的零部件,准备好零部件后,剩下的工作就是按照逻辑把它们组装到一起。 将程序模块化会使得程序的组织结构清晰,维护起来更加方便。比起直接开发一个完整的程序,单独开发一个小的模块也会更加简单,并且程序中的模块与电脑中的零部件稍微不同的是:程序中的模块可以被重复使用。所以总结下来,使用模块既保证了代码的重用性,又增强了程序的结构性和可维护性。另外除了自定义模块外,我们还可以导入使用内置或第三方模块提供的现成功能,这种“拿来主义”极大地提高了程序员的开发效率。 模块的使用 import语句 有如下示范文件 12345678910##文件名:foo.pyx=1def get(): print(x)def change(): global x x=0class Foo: def func(self): print('from the func') 要想在另外 ...
三元表达式 12name = 'allen'print('验证失败') if name!='allen' else print('验证成功') 列表推导式 1234567891011121314151617181920212223242526272829303132## 优点:方便,改变了编程习惯,可称之为声明式编程## 示例一:test_list=[]for i in range(10): test_list.append('test_%s' %i)## 用三元表达式test_list=['test_%s' %i for i in range(10)]print(test_list)## 示例二:res=['test_{}'.format(item+item1) for item in range(10) if item==3 for item1 in range(66) if item1==10]## [ ...
迭代器 迭代器概念 12345678910##迭代器即迭代的工具,那什么是迭代呢?##迭代是一个重复的过程,每次重复即一次迭代,并且每次迭代的结果都是下一次迭代的初始值while True: #只是单纯地重复,因而不是迭代 print('===>') l=[1,2,3]count=0while count < len(l): #迭代 print(l[count]) count+=1 可迭代对象、迭代器对象 12345678910111213141516171819202122232425##1、为何要有迭代器?对于序列类型:字符串、列表、元组,我们可以使用索引的方式迭代取出其包含的元素。但对于字典、集合、文件等类型是没有索引的,若还想取出其内部包含的元素,则必须找出一种不依赖于索引的迭代方式,这就是迭代器##2、什么是可迭代对象?字面意思分析:可以重复的迭代的实实在在的东西。专业角度: 内部含有'__iter__'方法的对象,就是可迭代对象。可迭代对象指的是内置有__iter__方法的对象,即obj.__it ...
Q: 公司用的是PPTP搭建的VPxN,公司win7可以连接,win10却报错不能建立到远程计算机的连接,因此… port user password都ok,那问题就出在win10本身了。 A: 以下为步骤: 1,以管理员身份运行CMD,输入netsh int ip reset 重置ip协议(我感觉这个步骤不一定有用,之前单独运行它并重启电脑并没有奏效,但是本着完全重现操作的原则还是写了上来) 2,打开设备管理器–网络适配器,将你的物理网卡全部卸载(我没有选勾选删除驱动文件),将WAN Miniport 开头的设备全部卸载 3,重启电脑后,VPxN应该可以使用了 推测这个BUG还是和WAN Miniport的驱动或设置有关,运行网络诊断之后出了问题
Sourcetree 在push代码时候弹出Password Required 在用Sourcetree进行代码管理时,公司的账号老是弹窗提示需要输入密码,但是输入密码又没有任何用,经过一番摸索,找到了一个解决办法,现在分享给大家,如果你有更好的解决方法 解决办法 打开【偏好设置】-> 【高级】-> 对存在的当前用户进行移除 这样的话push时会让你输入用户名和密码,在次输入就可以了,目前没有啥好办法,暂时先这样解决了 最新方法 1、在终端(terminal)打开你的工程目录 2、输入 1git config credential.helper store 3、拉取代码 1git pull 4、输入用户名密码,后面就不会再提示了,搞定 5、参考 http://zhige.me/2019/01/28/2019/01/sourcetree_password_required/#more ssh port 22: Operation timed out Q: 1234567891011ssh: connect to host gitee.com port 22: Operat ...