Python语言与Perl,C和Java等语言有许多相似之处,也有一定的差异性,以下是Python语言获取文件后缀名和文件名的方法:#Python获取文件后缀名的方法importos.pathdeffile_extension(path):returnos.path.splitext(path)[1]printfile_extension('/py/a.py')输出:.py#Python获取目录和文件名importos.pathdeffile_extens
系统 2019-09-27 17:52:22 1784
yield的功能类似于return,但是不同之处在于它返回的是生成器。生成器生成器是通过一个或多个yield表达式构成的函数,每一个生成器都是一个迭代器(但是迭代器不一定是生成器)。如果一个函数包含yield关键字,这个函数就会变为一个生成器。生成器并不会一次返回所有结果,而是每次遇到yield关键字后返回相应结果,并保留函数当前的运行状态,等待下一次的调用。由于生成器也是一个迭代器,那么它就应该支持next方法来获取下一个值。基本操作#通过`yield`
系统 2019-09-27 17:52:18 1784
原型模式,也是用于创建对象时的一种设计方法。主要应用场景是:每次初始化某个对象时,需要传递大量的参数,很不方便,此时,可以使用原型模式,在已经创建并初始化的对象基础上,可以快速而又方便创建新的不同对象。主要原理:使用深拷贝,复制一个已创建的对象,然后使用__dict__.update()方法更新已创建对象中的参数值方式创建新对象。背景知识:在python中的类中,__dict__是一个字典,保存了所有该类中的变量,函数等参数。#coding=utf-8im
系统 2019-09-27 17:52:15 1784
我们首先来看下python的全部代码,大家可以直接复制后测试:#-*-encoding:utf-8-*-importloggingimportwmiimportosimporttimefromConfigParserimportConfigParserimportsmtplibfromemail.mime.textimportMIMETextimportsocketfromdatetimeimportdatetimeimportreimportsysimp
系统 2019-09-27 17:52:12 1784
经典的汉诺塔问题:这里我们可以利用递归的思想去做,递归中重要的三步,我们逐条来实现:1、函数+分支结构2、递归链条3、递归基例函数+分支结构:defhanoi(n,start,end,mid):globalcountif:else:这里我们可以定义一个函数,里面的参数有:一共有n个圆盘,从start柱子移到end柱子,中间柱子为mid。这里定义一个全局变量来计算移动的步骤数,若为局部变量,会在函数内部不断初始化,所以需要定义全局变量。递归基例:ifn==1
系统 2019-09-27 17:52:07 1784
转自:https://blog.csdn.net/yilovexing/article/details/80577510在Python中,*和**具有语法多义性,具体来说是有四类用法。1.算数运算*代表乘法**代表乘方>>>2*510>>>2**5322.函数形参*args和**kwargs主要用于函数定义。你可以将不定数量的参数传递给一个函数。不定的意思是:预先并不知道,函数使用者会传递多少个参数给你,所以在这个场景下使用这两个关键字。其实并不是必须写成
系统 2019-09-27 17:51:52 1784
1.交换变量值2.将一列表中的所有元素拼接成字符串3.查找list中最高频率的值4.检查两个单词是否是字谜(组成的字母和对应数量一致)5.反转字符串6.反转列表7.转置2维数组8.链式比较9.链式函数调用10.复制列表11.DictionaryGet12.按值排序字典13.ForElse14.将列表转换为逗号分隔的字符串15.合并字典16.list中的最小和最大索引17.从列表中删除重复项查看英文原文:https://hackernoon.com/pyth
系统 2019-09-27 17:51:34 1784
Python3快速入门(七)——Python3正则表达式1、re模块简介re模块提供Perl风格的正则表达式模式,使Python语言拥有全部的正则表达式功能。2、正则表达式模式模式字符串使用特殊的语法来表示一个正则表达式:正则表达式模式中的字母和数字匹配同样的字符串;多数字母和数字前加一个反斜杠时会有不同的含义;标点符号通常有特殊的含义,只有被转义时才匹配自身;反斜杠本身需要使用反斜杠转义。^匹配字符串的开头$匹配字符串的末尾.匹配任意字符,除了换行符,当
系统 2019-09-27 17:51:33 1784
主机环境:(Python2.7.9/Win8_64/bs4)利用BeautifulSoup4来抓取www.pm25.com上的PM2.5数据,之所以抓取这个网站,是因为上面有城市PM2.5浓度排名(其实真正的原因是,它是百度搜PM2.5出来的第一个网站!)程序里只对比了两个城市,所以多线程的速度提升并不是很明显,大家可以弄10个城市并开10个线程试试。最后吐槽一下:上海的空气质量怎么这么差!!!PM25.py复制代码代码如下:#!/usr/bin/envp
系统 2019-09-27 17:51:23 1784
Python数据类型详解——字符串一、定义字符串是一个有序的字符集合,用于存储和表示基本的文本信息,用''、""、''''''中间包含的内容称之为字符串创建:s='Helloworld!'二、特性按照从左到右的顺序定义字符集合,下标从0开始顺序访问,有序。可以进行切片操作不可变,字符串是不可变的,不能想列表一样修改其中某个元素,所有对字符串的修改操作都是相当与生成一份新的数据。字符串的单引号和双引号都无法取消特殊字符的含义,如果想让引号内所有的字符均取消特
系统 2019-09-27 17:51:12 1784