拥有Python标签的文章
Python

python装饰器初探(推荐)

一、含有一个装饰器#encoding:utf-8############含有一个装饰器#########defouter(func):definner(*args,**kwargs):#要装饰f1(),这里用这俩形式参数,可以接受任意个参数,不管f1定义几个参数print"1"r=func(*args,**kwargs)#这里要用func,不要用f1print"2"returnrreturninner@outer#这里outer不要加括号deff1(a1,

系统 2019-09-27 17:37:53 1442

Python

Python异常学习笔记

异常(exceptions)是Python中一种非常重要的类型,它和语法错误不同,是在程序运行期间引发的错误。Python中内置了很多异常,如IOError,NameError,KeyboardInterrupt等,更多的异常可以点击这里。异常的意义在于提供一种更加优雅的运行方式,例如用Python编写一个计算器,如果用户输入不能计算的对象,则可以抛出异常,并进行处理,如下:whileTrue:try:x=int(input('PleaseInenterA

系统 2019-09-27 17:37:47 1442

Python

儿童python练习实例

实例一:题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列(只要百不等于十位并且不等于个位)。实例(Python2.0+)#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(1,5):#百位forjinrange(1,5):#十位forkinrange(1,5):#个位if(i!=k

系统 2019-09-27 17:37:41 1442

Python

python笔记1

阅读更多python:>>>favorite_language='python'>>>favorite_language.strip()注:rstrip消右空白right()lstrip消做空白left()大小写:首字母大写.title()全小写.lower()全大写.upper()换行制表:换行符\n制表符\t列表:索引从0开始##提出列表中的某个元素:print(列表[索引])或者直接print("元素")##-1表示最后一个元素,以此类推##修改列表

系统 2019-09-27 17:57:20 1441

Python

python线程中的同步问题及解决方法

多线程开发可能遇到的问题假设两个线程t1和t2都要对num=0进行增1运算,t1和t2都各对num修改1000000次,num的最终的结果应该为2000000。但是由于是多线程访问,有可能出现下面情况:fromthreadingimportThreadimporttimenum=0deftest1():globalnumforiinrange(1000000):num+=1print("--test1--num=%d"%num)deftest2():glo

系统 2019-09-27 17:57:16 1441

Python

Python 3.8 新功能全解

Python3.8是Python语言的最新版本,它适合用于编写脚本、自动化以及机器学习和Web开发等各种任务。现在Python3.8已经进入官方的beta阶段,这个版本带来了许多语法改变、内存共享、更有效的序列化和反序列化、改进的字典和更多新功能。Python3.8还引入了许多性能改进。总的来说,我们即将拥有一个更快、更精确、更一致和更现代的Python。下面是Python3.8的新功能和最重要的改变。1、赋值表达式Python3.8最明显的变化就是赋值表

系统 2019-09-27 17:57:03 1441

Python

K近邻算法的python实现

前言在K近邻的原始算法中,没有对K近邻的方法进行优化,还是遍历训练集,找到与输入实例最近的K个训练实例,统计他们的类别,以此作为输入实例类别的判断。具体的模型理论见:统计学习方法——K近邻法(原始方法)1.K近邻算法的实现在算法实现的过程中,利用的是欧氏距离进行点与点之间的距离度量。在进行数据运算的时候,没有利用numpy,而是利用Python中自带的list来进行数据的计算。defknn(x,dataSet,labels,k):distanceMemor

系统 2019-09-27 17:56:59 1441

Python

python 面向对象之封装

封装面向对象三大特性:继承封装多态隐藏对象的属性和实现细节,仅对外提供公共访问方法广义上的封装:把方法和变量都封装在类中狭义上的封装:在类的外部干脆不能调用了优点将变化隔离便于使用提高复用性提高安全性封装原则:将不需要对外提供的内容隐藏起来把属性都隐藏,提供公共方法对齐访问私有变量和私有方法在python中用双下划线开头的方式将属性隐藏起来(设置成私有的)代码实例#其实这仅仅这是一种变形操作#类中所有双下划线开头的名称如__x都会自动变形成:_类名__x的

系统 2019-09-27 17:56:45 1441

Python

Python中unittest用法实例

本文实例讲述了Python中unittest的用法,分享给大家供大家参考。具体用法分析如下:1.unittestmodule包含了编写运行unittest的功能,自定义的testclass都要集成unitest.TestCase类,testmethod要以test开头,运行顺序根据testmethod的名字排序,特殊方法:①setup():每个测试函数运行前运行②teardown():每个测试函数运行完后执行③setUpClass():必须使用@class

系统 2019-09-27 17:56:34 1441

Python

python类的继承实例详解

python类的继承对于许多文章讲解python类的继承,大多数都是说一些什么oop,多态等概念,我认为这样可能对有一定基础的开发者帮助不是那么大,不如直接用在各种情况下所写的代码,来展示对于某一种代码情况,代码运行会有什么效果。这样可能对开发者的帮助更大。不说废话,直接上代码。这里不区分经典类和新式类,下面分析的对新式类和经典类都适用对于类中的__init__函数,只是一个初始化是调用的一个函数(ps:初始化和创建实例并不是一个过程,实例的创建是通过一个

系统 2019-09-27 17:56:17 1441

Python

leetcode 汉明距离 - python3

两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数x和y,计算它们之间的汉明距离。注意:0≤x,y<231.classSolution:defhammingDistance(self,x:int,y:int)->int:x_str=str(bin(x)).replace('0b','')y_str=str(bin(y)).replace('0b','')max_len=max(len(x_str),len(y_str))x_s

系统 2019-09-27 17:56:07 1441

Python

python实现多线程端口扫描

一个简易的TCP端口扫描器,使用python3实现。需求:扫描目标网站开放哪些端口号,将所有开放的端口号输出。分析:使用socket连接,如果连接成功,认为端口开放,如果连接失败,认为端口关闭(有可能端口开放但连接失败,这里简单认为端口不开放)使用到的库:socket,threading过程:先定义一个函数,对给定的(ip,port)进行扫描,看其是否能连接成功。deftcpPortScan(ip,port,openPort):sock=socket.so

系统 2019-09-27 17:55:41 1441

Python

让你的 Python 代码优雅又地道

译序如果说优雅也有缺点的话,那就是你需要艰巨的工作才能得到它,需要良好的教育才能欣赏它。——EdsgerWybeDijkstra在Python社区文化的浇灌下,演化出了一种独特的代码风格,去指导如何正确地使用Python,这就是常说的pythonic。一般说地道(idiomatic)的python代码,就是指这份代码很pythonic。Python的语法和标准库设计,处处契合着pythonic的思想。而且Python社区十分注重编码风格一的一致性,他们极力

系统 2019-09-27 17:55:36 1441

Python

跟老齐学Python之编写类之一创建实例

说明:关于类的这部分,我参考了《LearningPython》一书的讲解。创建类创建类的方法比较简单,如下:复制代码代码如下:classPerson:注意,类的名称一般用大写字母开头,这是惯例。当然,如果故意不遵循此惯例,也未尝不可,但是,会给别人阅读乃至于自己以后阅读带来麻烦。既然大家都是靠右走的,你就别非要在路中间睡觉了。接下来,一般都要编写构造函数,在写这个函数之前,先解释一下什么是构造函数。复制代码代码如下:classPerson:def__ini

系统 2019-09-27 17:55:28 1441

Python

Python之路【第十六篇】:Python并发编程|进程、线程

一、进程和线程进程假如有两个程序A和B,程序A在执行到一半的过程中,需要读取大量的数据输入(I/O操作),而此时CPU只能静静地等待任务A读取完数据才能继续执行,这样就白白浪费了CPU资源。是不是在程序A读取数据的过程中,让程序B去执行,当程序A读取完数据之后,让程序B暂停,然后让程序A继续执行?当然没问题,但这里有一个关键词:切换既然是切换,那么这就涉及到了状态的保存,状态的恢复,加上程序A与程序B所需要的系统资源(内存,硬盘,键盘等等)是不一样的。自然

系统 2019-09-27 17:55:24 1441