Python
Young丶
这个作者很懒,什么都没留下…
展开
-
必选参数、默认参数、可变参数、关键字参数和命名关键字参数
必选参数、默认参数、可变参数、关键字参数和命名关键字参数原创 2016-06-07 22:10:59 · 2372 阅读 · 0 评论 -
用VSCode写python的正确姿势
最近在学习python,之前一直用notepad++作为编辑器,偶然发现了VScode便被它的颜值吸引。用过之后发现它启动快速,插件丰富,下载安装后几乎不用怎么配置就可以直接使用,而且还支持markdown。当然,最主要的还是好看:p效果图:VScode下载地址安装python插件打开VScode,Ctrl+p输入 "ext install python",搜索时间可能原创 2017-07-18 14:58:52 · 15917 阅读 · 3 评论 -
python _、__和__xx__的区别
"_"单下划线Python中不存在真正的私有方法。为了实现类似于c++中私有方法,可以在类的方法或属性前加一个“_”单下划线,意味着该方法或属性不应该去调用,它并不属于API。在使用property时,经常出现这个问题:class BaseForm(StrAndUnicode): ... def _get_errors(self):原创 2017-07-18 13:46:23 · 409 阅读 · 0 评论 -
python的动态性以及 使用__slots__
正常情况下,当我们定义了一个class,创建了一个class的实例后,我们可以给该实例绑定任何属性和方法,这就是动态语言的灵活性。先定义class:class Student(object): pass然后,尝试给实例绑定一个属性:>>> s = Student()>>> s.name = 'Michael' # 动态给实例绑定一个属性>>> print(s.name转载 2016-06-14 19:42:37 · 733 阅读 · 0 评论 -
python 中类属性共享问题
感觉这种理解有问题,举个例子来说。class Dog(object): name = 'dog' def init(self): self.age = 18d1 = Dog()d2 = Dog()这里有两个实例 d1,d2 吧。d1.name # 输出 dogd2.name # 输出 dogd1.name = 'abc'd1.na原创 2016-06-13 23:52:53 · 5158 阅读 · 0 评论 -
Python中的__name__和__main__含义详解
背景在写Python代码和看Python代码时,我们常常可以看到这样的代码:?12345defmain(): ...... if__name__ =="__main__": main();其中的函原创 2016-06-13 22:14:49 · 903 阅读 · 0 评论 -
Python中的模块
有过C语言编程经验的朋友都知道在C语言中如果要引用sqrt这个函数,必须用语句"#include"引入math.h这个头文件,否则是无法正常进行调用的。那么在Python中,如果要引用一些内置的函数,该怎么处理呢?在Python中有一个概念叫做模块(module),这个和C语言中的头文件以及Java中的包很类似,比如在Python中要调用sqrt函数,必须用import关键字引入math这个模块,原创 2016-06-13 22:04:01 · 350 阅读 · 0 评论 -
python strip()函数
函数原型声明:s为字符串,rm为要删除的字符序列s.strip(rm) 删除s字符串中开头、结尾处,位于 rm删除序列的字符s.lstrip(rm) 删除s字符串中开头处,位于 rm删除序列的字符s.rstrip(rm) 删除s字符串中结尾处,位于 rm删除序列的字符注意:1. 当rm为空时,默认删除空白符(包括'原创 2016-06-10 15:08:02 · 562 阅读 · 0 评论 -
生成器
通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我们是否可以在循环的过程中不断推算出后续的元素呢?这样就不必创建完整的list,从而节省大量的空间。在Python中,这种转载 2016-06-09 22:44:56 · 388 阅读 · 0 评论 -
列表生成式
列表生成式即List Comprehensions,是Python内置的非常简单却强大的可以用来创建list的生成式。举个例子,要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可以用list(range(1, 11)):>>> list(range(1, 11))[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]但如果要生成[1原创 2016-06-09 22:28:34 · 368 阅读 · 0 评论 -
python的range()函数用法
再看看list的操作:array = [1, 2, 5, 3, 6, 8, 4]#其实这里的顺序标识是[1, 2, 5, 3, 6, 8, 4](0,1,2,3,4,5,6)(-7,-6,-5,-4,-3,-2,-1) >>> array[0:] #列出0以后的[1, 2, 5, 3, 6, 8, 4]>>> array[1:] #列出1以后的[2, 5, 3, 6, 8,原创 2016-06-09 22:05:10 · 698 阅读 · 0 评论 -
如何在mac终端上使用python3.5
Mac自带的是2.7版本的,但是又不敢随便乱卸载,因为很多系统组件依赖于它,只能另想办法了。下载3版本的Python ,然后直接双击安装即可。安装结束后,打开~/.bash_profile文件,可以看到安装过程种被写入了Python的环境变量,看到该环境变量,很容易就找到Python可执行文件的目录了,/Library/Frameworks/Python.framework原创 2016-06-09 17:04:15 · 14659 阅读 · 3 评论 -
Python的with...as的用法
这个语法是用来代替传统的try...finally语法的。 with EXPRESSION [ as VARIABLE] WITH-BLOCK 基本思想是with所求值的对象必须有一个__enter__()方法,一个__exit__()方法。紧跟with后面的语句被求值后,返回对象的__enter__()方法被调用,这个方法的返回值将被赋值给as后面的变量。当with后面的原创 2017-07-18 15:12:20 · 473 阅读 · 0 评论