Python - 军军小站|张军博客
Python

Python列表与元组的异同详解

前言“列表(list)与元组(tuple)两种数据类型有哪些区别”这个问题在初级程序员面试中经常碰到,超出面试官预期的答案往往能加不少印象分,也会给后续面试顺利进行提供一定帮助,这道题主要考察候选人对Python基本数据结构的掌握程度,属于简单类型的送分题,那么该如何来回答才不至于丢分?相同点:都是序列类型回答它们的区别之前,先来说说两者有什么相同之处。list与tuple都是序列类型的容器对象,可以存放任何类型的数据、支持切片、迭代等操作>>>foos=

系统 2019-09-27 17:50:39 1990

Python

边看边用!这本 Python 3.6 的书火爆了 IT 圈!

最近这段时间,常常有人在后台留言:该不该学Python?如何学Python?鉴于大家都有这方面的困惑今天就给大家推荐一本巨有影响力的Python书火到什么地步呢?在京东上常常卖断货!上线2月就成为畅销王!好评不断!这本书可谓是笔者独家私藏图书之一了,对我学习Python有着莫大的帮助,这次拿出来给大家分享一下PS:文末还将赠送5门课程!这本基于3.6的Python书究竟好在哪?这本书就是《疯狂Python讲义》,作为作者李刚的死忠粉儿,我觉得优点如下:1.

系统 2019-09-27 17:49:38 1990

Python

同样是Python,怎么区别这么大

发现问题上周,我的测试同事告诉我,你的用户名怎么还允许中文啊?当时我心里就想,你们测试肯定又搞错接口了,我用的是正则w过滤了参数,怎么可能出错,除非Python正则系统出错了,那是不可能的。本着严谨的作风,我自己先测试一下,没问题看我怎么怼回去。可是当我测试,我就懵逼了,中文真TM都验证通过,不对啊,我以前也是这么过滤参数的,测试没问题啊?唯一的区别是现在用的是Python3。上网搜了一圈,发现没有一篇文章讲述Python2和Python3的正则在处理字符

系统 2019-09-27 17:49:01 1990

Python

python并行处理任务时 该用多进程?还是该用多线程?

在python并行处理任务时要使用多线程还是多进程?说到这个话题,必须要提的GIL(GlobalInterpreterLock)全局解释锁,当Cpython每次执行字节码时都要先申请这个锁。那么问题就来了,如果使用多线程是比也会受到影响。多线程和多进程程序比较,哪个性能更高?还是拿一个实例运行来看看吧~#写一个简单的例子,计算100W个随机数的和8次,同时将分散到8个线程进行运算。#thread.py#!/usr/bin/envpythonimportra

系统 2019-09-27 17:48:57 1990

Python

Python的Flask框架中web表单的教程

概要在前面章节我们为主页定义了一个简单的模板,部分尚未实现的模块如用户或帖子等使用模拟的对象作为临时占位。本章我们将看到如何利用web表单填补这些空白。web表单是web应用中最基本的构建要素,我们将通过表单来实现用户发帖和应用登录功能。完成本章内容你需要基于前面章节完成的微博应用代码,请确认这些代码已安装并能正常运行。配置Flask-WTF是WTForms项目的Flask框架扩展,我们将用他来帮助我们处理web表单。大部分Flask扩展都需要定义相关配置

系统 2019-09-27 17:48:55 1990

Python

那些学了 Python 的程序员,编程能力都“退化”成什么样了?

在知乎上有一个特别火的问题:如何学Python?你会看到很多高赞回答是:我一天就学完了。在大家群嘲的背后,我们来分析一下,为什么在大家印象里,Python这么容易学,甚至简单到被某些人鄙视呢?学Python,人的编程能力会严重退化吗?1、“幼年”被鄙视,“长大”后却是高级脸Python代码简洁易懂,是最接近自然语言的编程语言了。同样的内容按照代码量计算,C++:Java:Python=1000:100:10!使用Python意味着,你的工具库中将获得一个新

系统 2019-09-27 17:48:29 1990

Python

Python发送email的3种方法

python发送email还是比较简单的,可以通过登录邮件服务来发送,linux下也可以使用调用sendmail命令来发送,还可以使用本地或者是远程的smtp服务来发送邮件,不管是单个,群发,还是抄送都比较容易实现。先把几个最简单的发送邮件方式记录下,像html邮件,附件等也是支持的,需要时查文档即可1、登录邮件服务复制代码代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-#python2.7x#send_simple

系统 2019-09-27 17:47:03 1990

Python

一篇文章弄懂Python中的可迭代对象、迭代器和生成器

我们都知道,序列可以迭代。但是,你知道为什么吗?本文来探讨一下迭代背后的原理。序列可以迭代的原因:iter函数。解释器需要迭代对象x时,会自动调用iter(x)。内置的iter函数有以下作用:(1)检查对象是否实现了iter方法,如果实现了就调用它,获取一个迭代器。(2)如果没有实现iter方法,但是实现了getitem方法,而且其参数是从零开始的索引,Python会创建一个迭代器,尝试按顺序(从索引0开始)获取元素。(3)如果前面两步都失败,Python

系统 2019-09-27 17:46:04 1990

Python

知识篇: Python递归函数,二分查找算法

目录一、初始递归二、递归示例讲解二分查找算法一、初始递归递归函数:在一个函数里在调用这个函数本身。递归的最大深度:998正如你们刚刚看到的,递归函数如果不受到外力的阻止会一直执行下去。但是我们之前已经说过关于函数调用的问题,每一次函数调用都会产生一个属于它自己的名称空间,如果一直调用下去,就会造成名称空间占用太多内存的问题,于是python为了杜绝此类现象,强制的将递归层数控制在了997(只要997!你买不了吃亏,买不了上当...).拿什么来证明这个“99

系统 2019-09-27 17:45:47 1990

Python

python+selenium实现自动化百度搜索关键词

通过python配合爬虫接口利用selenium实现自动化打开chrome浏览器,进行百度关键词搜索。1、安装python3,访问官网选择对应的版本安装即可,最新版为3.7。2、安装selenium库。使用pipinstallselenium安装即可。同时需要安装chromedriver,并放在python安装文件夹下,如下图所示。3、获取爬虫接口链接。注册账号,点击爬虫代理,领取每日试用。fromseleniumimportwebdriverimport

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

Python

Python的open函数

Python文件打开模式Pythonopen()函数Python内置函数Python内置函数pythonopen()函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。函数语法open(name[,mode[,buffering]])参数说明name:一个包含了你要访问的文件名称的字符串值。mode:mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读®。buffe

系统 2019-09-27 17:56:46 1989

Python

python时间序列按频率生成日期的方法

有时候我们的数据是按某个频率收集的,比如每日、每月、每15分钟,那么我们怎么产生对应频率的索引呢?pandas中的date_range可用于生成指定长度的DatetimeIndex。我们先看一下怎么生成日期范围:pd.date_range(startdate,enddate)1.生成指定开始日期和结束日期的时间范围:In:importpandasaspdindex=pd.date_range('4/1/2019','5/1/2019')print(inde

系统 2019-09-27 17:56:20 1989

Python

Python获取命令实时输出-原样彩色输出并返回输出结果的示例

经试验显示效果不错。#!/usr/bin/python3#-*-coding:utf-8-*-importosimportsubprocess#与在命令窗口执行显示效果相同,如有彩色输出可保留,但不能返回结果defrun(command):subprocess.call(command,shell=True)#实时输出但不可显示彩色,可以返回结果defsh(command,print_msg=True):p=subprocess.Popen(command

系统 2019-09-27 17:54:40 1989

Python

Python多进程同步Lock、Semaphore、Event实例

同步的方法基本与多线程相同。1)Lock当多个进程需要访问共享资源的时候,Lock可以用来避免访问的冲突。复制代码代码如下:importmultiprocessingimportsysdefworker_with(lock,f):withlock:fs=open(f,"a+")fs.write('Lockacquiredviawith\n')fs.close()defworker_no_with(lock,f):lock.acquire()try:fs=o

系统 2019-09-27 17:54:13 1989

Python

Python中使用Flask、MongoDB搭建简易图片服务器

1、前期准备通过pip或easy_install安装了pymongo之后,就能通过Python调教mongodb了.接着安装个flask用来当web服务器.当然mongo也是得安装的.对于Ubuntu用户,特别是使用Server12.04的同学,安装最新版要略费些周折,具体说是sudoapt-keyadv--keyserverhkp://keyserver.ubuntu.com:80--recv7F0CEB10echo'debhttp://download

系统 2019-09-27 17:52:29 1989