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
原型模式,也是用于创建对象时的一种设计方法。主要应用场景是:每次初始化某个对象时,需要传递大量的参数,很不方便,此时,可以使用原型模式,在已经创建并初始化的对象基础上,可以快速而又方便创建新的不同对象。主要原理:使用深拷贝,复制一个已创建的对象,然后使用__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
ubuntu18.04版本,python版本python2.7,python3.5,python3.6因为安装一些库会安装到python3.6上,而默认使用的是python2.7,使用python3,默认会使用python3.5,无法调用安装包。解决方法:一、使用pythonxx.py运行程序时,加上版本号。比如python3.6xx.py二、1.要以root身份操作yz@yz-pc:~$sudosu2.确认本机下的python默认版本。调出终端,输入py
系统 2019-09-27 17:51:04 1784
本文主要是记录ubuntu16.04下python环境配置,具体内容如下对于ubuntu16.04,由于本身是自带python,这样就减少了在windows下的下载和环境变量配置,非常不错。但是他本身是自带两个版本的python,2.X和3.X,两个版本,两个版本默认的是使用2.X,毕竟3.X是一个趋势,今后我这边应该也会主要使用3.X版本,所以这里记录一下如果在版本间切换以及如何把python版本切换到3.X下的方法。一、确认本机下的python默认版本
系统 2019-09-27 17:51:01 1784
Python这门解释性语言也有专门的线程模型,Python虚拟机使用GIL(GlobalInterpreterLock,全局解释器锁)来互斥线程对共享资源的访问,但暂时无法利用多处理器的优势。在Python中我们主要是通过thread和threading这两个模块来实现的,其中Python的threading模块是对thread做了一些包装的,可以更加方便的被使用,所以我们使用threading模块实现多线程编程。这篇文章我们主要来看看Python对多线程
系统 2019-09-27 17:51:00 1784
前言Python以其简单易懂的语法格式与其它语言形成鲜明对比,初学者遇到最多的问题就是不按照Python的规则来写,即便是有编程经验的程序员,也容易按照固有的思维和语法格式来写Python代码,有一个外国小伙总结了一些大家常犯的错误,,我把他翻译过来并在原来的基础补充了我的一些理解,希望可以让你避开这些坑。0、忘记写冒号在if、elif、else、for、while、class、def语句后面忘记添加“:”ifspam==42print('Hello!')
系统 2019-09-27 17:50:54 1784
作为Python程序员,应该能够正视Python的优点与缺点。众所周之,Python的运行速度是很慢的,特别是大数据量的运算时,Python会慢得让人难以忍受。对于这种情况,“专业”的解决方案是用上numpy或者opencl。不过有时候为了一点小功能用上这种重型的解决方案很不划算,或者有时候想要实现的操作在numpy里面没有,需要我们自己用C语言来编写。总之,我们使用Python与C++的混合编程能够加快程序热点的运算速度。首先要提醒大家注意的是,在考虑联
系统 2019-09-27 17:50:45 1784
阅读更多pipinstallpyecharts;会安装pyecharts-1.1.0画K线图kline1.py#coding:utf-8importos,sysfrompyechartsimportoptionsasoptsfrompyecharts.chartsimportKlineiflen(sys.argv)==2:code=sys.argv[1]else:print('usage:kline1.pycode')sys.exit(1)iflen(co
系统 2019-09-27 17:50:05 1784