- 军军小站|张军博客
搜索到与相关的文章
Python

python生成式的send()方法(详解)

随便在网上找了找,感觉都是讲半天讲不清楚,这里写一下。defgenerator():whileTrue:receive=yield1print('extra'+str(receive))g=generator()print(next(g))print(g.send(111))print(next(g))输出:1extra1111extraNone1为什么会这样呢,点进send就能看到一句话send:Resumesthegeneratorand"sends"

系统 2019-09-27 17:48:19 1829

Python

人生苦短我用python python如何快速入门?

假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程。那么本教程将花费十分钟的时间带你走入Python的大门。本文的内容介于教程(Toturial)和速查手册(CheatSheet)之间,因此只会包含一些基本概念。很显然,如果你希望真正学好一门语言,你还是需要亲自动手实践的。在此,我会假定你已经有了一定的编程基础,因此我会跳过大部分非Python语言的相关内容。本文将高亮显示重要的关键字,以便你可以很容易看到它们。另外需要注意的是,由于

系统 2019-09-27 17:48:10 1829

Python

python 使用装饰器并记录log的示例代码

1.首先定义一个log文件#-*-coding:utf-8-*-importosimporttimeimportloggingimportsyslog_dir1=os.path.join(os.path.dirname(os.path.dirname(__file__)),"logs")today=time.strftime('%Y%m%d',time.localtime(time.time()))full_path=os.path.join(log_di

系统 2019-09-27 17:47:58 1829

Python

Python:logging 的巧妙设计

引言logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了py

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

Python

可能是最全面的 Python 字符串拼接总结

来源:枫恋寒链接:https://segmentfault.com/a/119000001.png"font-size:12px;">在Python中字符串连接有多种方式,这里简单做个总结,应该是比较全面的了,方便以后查阅。加号连接第一种,通过+号的形式:>>>a,b='hello','world'>>>a+b'helloworld'逗号连接第二种,通过,逗号的形式:>>>a,b='hello','world'>>>print(a,b)helloworld

系统 2019-09-27 17:47:09 1829

Python

python函数

函数函数是什么函数就是一个功能的封装,然后可以可以被多次调用的代码块函数定义函数定义需要def关键字,函数的参数不是必须的,返回值也是,要是有参数一定要传参数要是return没有返回值,或者连return都没有的,返回的是None值完整的函数包括函数名,参数,以及函数的实现语句,缩进属于函数体,返回值是用来保存计算结果的函数定义的规则函数代码以def开头,后接函数名加上()传入的参数和自变量必须放在圆括号中间,自定义的参数也放在圆括号内函数的起始用:并且用

系统 2019-09-27 17:46:46 1829

Python

Python 如何访问外围作用域中的变量

在表达式中引用变量时,Python会按照如下的顺序遍历各个作用域,寻找该变量:当前函数作用域任何外围作用域(比如包含当前函数的其他函数)global作用域,即代码所在的模块的作用域如果上述作用域内都找不到变量,就会报NameError异常。但是对变量赋值时,规则会有所不同。如果当前作用域变量已存在,那么其值会被替换。如果不存在,则会视为在当前作用域定义新变量,而不是向外围作用域中寻找。如下函数deffunction():flag=Truedefhelper

系统 2019-09-27 17:46:14 1829

Python

在SAE上部署Python的Django框架的一些问题汇总

花了些工夫将碎片网部署到了SAE,中途遇到各类问题。感觉SAE看上去很美,实际上却并不是太成熟(至少python版如此)。下面记录下我遇到的一些主要问题以及解决方法。django版本问题Django1.4都即将发布了,SAE平台自带的SAE版本依旧为1.2x。为使用django1.3版本,你需上传自己的django。具体做法可参考SAE手册中的runtime.html#virtualenv日志模块出错最先遇到的是日至模块的问题。错误显示AdminEmail

系统 2019-09-27 17:46:12 1829

Python

【python】 一文弄懂浅拷贝与深拷贝

一、可变对象与非可变对象想要理解浅拷贝与深拷贝就必须得先明白可变对象与非可变对象。可变对象有:list,dict,set不可变对象有:int,float,bool,str,tuple。两者区别:对于可变对象,其值改变是在原地址上操作,不会创建新的内存地址。对于不可变对象其值改变是直接创建新的内存地址。二、赋值操作符‘=’表示对象的引用。python里面的赋值操作符‘=’实际上是对象的引用,其并没有进行复制操作。如果如果赋值操作符右边的操作数是字面值,比如字

系统 2019-09-27 17:46:11 1829

Python

Python深入学习之闭包

闭包(closure)是函数式编程的重要的语法结构。函数式编程是一种编程范式(而面向过程编程和面向对象编程也都是编程范式)。在面向过程编程中,我们见到过函数(function);在面向对象编程中,我们见过对象(object)。函数和对象的根本目的是以某种逻辑方式组织代码,并提高代码的可重复使用性(reusability)。闭包也是一种组织代码的结构,它同样提高了代码的可重复使用性。不同的语言实现闭包的方式不同。Python以函数对象为基础,为闭包这一语法结

系统 2019-09-27 17:45:45 1829