python
zhengj_shaver
这个作者很懒,什么都没留下…
展开
-
Python基础篇之__call__
python中 __call__ 在Python中,函数其实是一个对象: f = abs f.__name__ ‘abs’ f(-123) 123 由于 f 可以被调用,所以,f 被称为可调用对象。 所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法_转载 2017-12-15 16:37:28 · 251 阅读 · 0 评论 -
Python基础篇之类的继承
python中继承一个类如果已经定义了Person类,需要定义新的Student和Teacher类时,可以直接从Person类继承:class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender 定义Student类时,只需要把额转载 2017-12-14 18:17:40 · 272 阅读 · 0 评论 -
Python基础篇之set
Python中什么是setdict的作用是建立一组 key 和一组 value 的映射关系,dict的key是不能重复的。有的时候,我们只想要 dict 的 key,不关心 key 对应的 value,目的就是保证这个集合的元素不会重复,这时,set就派上用场了。set 持有一系列元素,这一点和 list 很像,但是set的元素没有重复,而且是无序的,这点和 dict 的 key很像。创建 set转载 2017-12-05 11:42:13 · 3680 阅读 · 0 评论 -
Python基础篇之dict
Python之什么是dict我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字:[‘Adam’, ‘Lisa’, ‘Bart’] 或者考试的成绩列表:[95, 85, 59] 但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。如果把名字和分数关联起来,组成类似的查找表:‘Adam’ ==> 95 ‘Lisa’ ==> 85 ‘Bart’ ==>转载 2017-12-05 11:31:33 · 581 阅读 · 0 评论 -
Python基础篇之多重循环
Python之 多重循环 在循环内部,还可以嵌套循环,我们来看一个例子:for x in [‘A’, ‘B’, ‘C’]: for y in [‘1’, ‘2’, ‘3’]: print x + y x 每循环一次,y 就会循环 3 次,这样,我们可以打印出一个全排列:A1 A2 A3 B1 B2 B3 C1 C2 C3转载 2017-12-05 11:13:46 · 2905 阅读 · 0 评论 -
Python基础篇之continue继续循环
Python之 continue继续循环 在循环过程中,可以用break退出当前循环,还可以用continue跳过后续循环代码,继续下一次循环。假设我们已经写好了利用for循环计算平均分的代码:L = [75, 98, 59, 81, 66, 43, 69, 85] sum = 0.0 n = 0 for x in L: sum = sum + x n = n + 1转载 2017-12-05 11:10:15 · 850 阅读 · 0 评论 -
Python基础篇之break退出循环
Python之 break退出循环 用 for 循环或者 while 循环时,如果要在循环体内直接退出循环,可以使用 break 语句。比如计算1至100的整数和,我们用while来实现:sum = 0 x = 1 while True: sum = sum + x x = x + 1 if x > 100: break print sum转载 2017-12-05 11:07:07 · 388 阅读 · 0 评论 -
Python基础篇之while循环
Python之 while循环 和 for 循环不同的另一种循环是 while 循环,while 循环不会迭代 list 或 tuple 的元素,而是根据表达式判断循环是否结束。比如要从 0 开始打印不大于 N 的整数:N = 10 x = 0 while x < N: print x x = x + 1 while循环每次先判断 x < N,如果为True,则执行循环体转载 2017-12-05 11:04:55 · 195 阅读 · 0 评论 -
Python基础篇之for循环
Python之 for循环 list或tuple可以表示一个有序集合。如果我们想依次访问一个list中的每一个元素呢?比如 list:L = [‘Adam’, ‘Lisa’, ‘Bart’] print L[0] print L[1] print L[2] 如果list只包含几个元素,这样写还行,如果list包含1万个元素,我们就不可能写1万行print。这时,循环就派上用场了。Pytho转载 2017-12-05 11:02:37 · 144 阅读 · 0 评论 -
Python基础篇之切片
对list进行切片取一个list的部分元素是非常常见的操作。比如,一个list如下: L = [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’] 取前3个元素,应该怎么做? 笨办法: [L[0], L[1], L[2]] [‘Adam’, ‘Lisa’, ‘Bart’] 之转载 2017-12-06 14:25:49 · 164 阅读 · 0 评论 -
Python基础篇之迭代
什么是迭代在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。在Python中,迭代是通过 for … in 来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:for (i=0; i索引迭代Python中,迭代永远是取出元素本身,而非元素的索引。对于有序集合,元素确转载 2017-12-06 15:06:26 · 238 阅读 · 0 评论 -
Python基础篇之__slots__
python中 __slots__ 由于Python是动态语言,任何实例在运行期都可以动态地添加属性。如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现。顾名思义,__slots__是指一个类允许的属性列表:class Student(object): __slots__ =转载 2017-12-15 16:28:42 · 342 阅读 · 0 评论 -
python中 @property
python中 @property 考察 Student 类:class Student(object): def __init__(self, name, score): self.name = name self.score = score 当我们想要修改一个 Student 的 scroe 属性时,可以这么写:s = Student(‘Bob’转载 2017-12-15 16:08:21 · 383 阅读 · 0 评论 -
Python基础篇之类型转换
python中类型转换 Rational类实现了有理数运算,但是,如果要把结果转为 int 或 float 怎么办?考察整数和浮点数的转换: int(12.34) 12 float(12) 12.0 如果要把 Rational 转为 int,应该使用: r = Rational(12, 5) n转载 2017-12-15 15:38:05 · 318 阅读 · 0 评论 -
Python基础篇之数学运算符
python中数学运算 Python 提供的基本数据类型 int、float 可以做整数和浮点的四则运算以及乘方等运算。但是,四则运算不局限于int和float,还可以是有理数、矩阵等。要表示有理数,可以用一个Rational类来表示:class Rational(object): def __init__(self, p, q): self.p = p转载 2017-12-15 12:13:33 · 568 阅读 · 0 评论 -
Python基础篇之__len__
python中 __len__ 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。例如,我们写一个 Students 类,把名字传进去:class Students(object): def __init__(self, *args): self.na转载 2017-12-15 11:36:14 · 1613 阅读 · 0 评论 -
Python基础篇之__cmp__
python中 __cmp__ 对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__():class Student(object): def __init__(self, name, score): self.name转载 2017-12-15 10:59:38 · 744 阅读 · 0 评论 -
Python基础篇之__Str__和__repr__
python中 __str__和__repr__ 如果要把一个类的实例变成 str,就需要实现特殊方法__str__():class Person(object): def __init__(self, name, gender): self.name = name self.gender = gender def __str__(self)转载 2017-12-15 10:50:43 · 170 阅读 · 0 评论 -
Python基础篇之列表生成式
生成列表 要生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],我们可以用range(1, 11): range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 但如果要生成[1x1, 2x2, 3x3, …, 10x10]怎么做?方法一是循环: L = []转载 2017-12-06 15:32:42 · 341 阅读 · 0 评论 -
Python基础篇之if-elif-else
Python之 if-elif-else 有的时候,一个 if … else … 还不够用。比如,根据年龄的划分:条件1:18岁或以上:adult 条件2:6岁或以上:teenager 条件3:6岁以下:kid 我们可以用一个 if age >= 18 判断是否符合条件1,如果不符合,再通过一个 if 判断 age >= 6 来判断是否符合条件2,否则,执行条件3:if age >= 18:转载 2017-12-05 10:59:51 · 330 阅读 · 0 评论 -
Python基础篇之If-else
Python之 if-else当 if 语句判断表达式的结果为 True 时,就会执行 if 包含的代码块:if age >= 18: print ‘adult’ 如果我们想判断年龄在18岁以下时,打印出 ‘teenager’,怎么办?方法是再写一个 if:if age < 18: print ‘teenager’ 或者用 not 运算:if not age >= 18:转载 2017-12-05 10:57:28 · 5289 阅读 · 0 评论 -
Python基础篇之If语句
Python之if语句计算机之所以能做很多自动化的任务,因为它可以自己做条件判断。比如,输入用户年龄,根据年龄打印不同的内容,在Python程序中,可以用if语句实现:age = 20 if age >= 18: print ‘your age is’, age print ‘adult’ print ‘END’ 注意: Python代码的缩进规则。具有相同缩进的代码被视为转载 2017-12-04 10:04:16 · 215 阅读 · 0 评论 -
Python基础篇之模块
python之导入模块 要使用一个模块,我们必须首先导入该模块。Python使用import语句导入一个模块。例如,导入系统自带的模块 math:import math 你可以认为math就是一个指向已导入模块的变量,通过该变量,我们可以访问math模块中所定义的所有公开的函数、变量和类: math.pow(2, 0.5) # pow是函数 1.4142转载 2017-12-12 10:33:05 · 235 阅读 · 0 评论 -
Python基础篇之装饰器(decorator)
python中编写无参数decoratorPython的 decorator 本质上就是一个高阶函数,它接收一个函数作为参数,然后,返回一个新函数。使用 decorator 用Python提供的 @ 语法,这样可以避免手动编写 f = decorate(f) 这样的代码。考察一个@log的定义:def log(f): def fn(x): print ‘call ’ +转载 2017-12-12 10:31:50 · 257 阅读 · 0 评论 -
python基础篇之bool类型
Python中布尔类型 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算:与运算:只有两个布尔值都为 True 时,计算结果才为 True。True and True # ==> True True and False # ==> False False and True # ==> False False and转载 2017-12-01 10:26:32 · 15842 阅读 · 0 评论 -
python基础篇之整数和浮点数
Python中整数和浮点数 Python支持对整数和浮点数直接进行四则混合运算,运算规则和数学上的四则运算规则完全一致。基本的运算:1 + 2 + 3 # ==> 6 4 * 5 - 6 # ==> 14 7.5 / 8 + 2.1 # ==> 3.0375 使用括号可以提升优先级,这和数学运算完全一致,注意只能使用小括号,但是括号可以嵌套很多层:(1 + 2) * 3 #转载 2017-12-01 10:21:55 · 859 阅读 · 0 评论 -
python基础篇之字符串
Python中定义字符串 前面我们讲解了什么是字符串。字符串可以用”或者”“括起来表示。如果字符串本身包含’怎么办?比如我们要表示字符串 I’m OK ,这时,可以用” “括起来表示:“I’m OK” 类似的,如果字符串包含”,我们就可以用’ ‘括起来表示:‘Learn “Python” in imooc’ 如果字符串既包含’又包含”怎么办?这个时候,就需要对字符串的某些特殊字符进行“转义”,转载 2017-12-01 10:06:00 · 234 阅读 · 0 评论 -
python基础篇之Python的注释
Python的注释 任何时候,我们都可以给程序加上注释。注释是用来说明代码的,给自己或别人看,而程序运行的时候,Python解释器会直接忽略掉注释,所以,有没有注释不影响程序的执行结果,但是影响到别人能不能看懂你的代码。Python的注释以 # 开头,后面的文字直到行尾都算注释#这一行全部都是注释… print ‘hello’ # 这也是注释 注释还有一个巧妙的用途,就是一些代码我们不想运行,转载 2017-12-01 09:51:53 · 187 阅读 · 0 评论 -
Python基础篇之print语句
Python之print语句 print语句可以向屏幕上输出指定的文字。比如输出’hello, world’,用代码实现如下: print ‘hello, world’ 注意: 1.当我们在Python交互式环境下编写代码时,>>>是Python解释器的提示符,不是代码的一部分。2.当我们在文本编辑器中编写代码时,千万不要自己添加 >>>。转载 2017-12-01 09:43:28 · 237 阅读 · 0 评论 -
python基础篇之python中的数据类型
Python中数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值。但是,计算机能处理的远不止数值,还可以处理文本、图形、音频、视频、网页等各种各样的数据,不同的数据,需要定义不同的数据类型。在Python中,能够直接处理的数据类型有以下几种:一、整数Python可以处理任意大小的整数,当然包括负整数,在Python程序中,整数的表示方法和数学上的写法一模一转载 2017-12-01 09:36:15 · 137 阅读 · 0 评论 -
Python基础篇之面向对像
python之定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类如下:class Person(object): pass 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承。有了Person类的定转载 2017-12-12 12:27:41 · 279 阅读 · 0 评论 -
Python基础篇之List一.(创建List)
Python创建listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示: [‘Michael’, ‘Bob’, ‘Tracy’] [‘Michael’, ‘Bob’, ‘Tracy’] list是数学意义上的有序集合,也就是说,lis转载 2017-12-04 09:27:02 · 3122 阅读 · 0 评论 -
Python基础篇之tuple三.(“可变”的tuple)
Python之“可变”的tuple前面我们看到了tuple一旦创建就不能修改。现在,我们来看一个“可变”的tuple: t = (‘a’, ‘b’, [‘A’, ‘B’]) 注意到 t 有 3 个元素:’a’,’b’和一个list:[‘A’, ‘B’]。list作为一个整体是tuple的第3个元素。list对象可以通过 t[2] 拿到:转载 2017-12-04 09:58:25 · 345 阅读 · 0 评论 -
Python基础篇之tuple二.(创建单元素tuple)
Python之创建单元素tupletuple和list一样,可以包含 0 个、1个和任意多个元素。包含多个元素的 tuple,前面我们已经创建过了。包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示: t = () print t () 创建包含1个元素的 tuple 呢?来试试: t转载 2017-12-04 09:56:30 · 392 阅读 · 0 评论 -
Python基础篇之tuple一.(创建tuple)
Python之创建tupletuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。同样是表示班里同学的名称,用tuple表示如下: t = (‘Adam’, ‘Lisa’, ‘Bart’) 创建tuple和创建list唯一不同之处是用( )替代了[ ]。 现在,这转载 2017-12-04 09:51:50 · 2328 阅读 · 0 评论 -
Python基础篇之List三.(倒序访问List)
Python之倒序访问list我们还是用一个list按分数从高到低表示出班里的3个同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 这时,老师说,请分数最低的同学站出来。 要写代码完成这个任务,我们可以先数一数这个 list,发现它包含3个元素,因此,最后一个元素的索引是2: print L[2]转载 2017-12-04 09:31:08 · 1129 阅读 · 0 评论 -
Python基础篇之List六.(替换元素)
Python中替换元素假设现在班里仍然是3名同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班级成员名单,我们可以先把Bart删掉,再把Paul添加进来。 另一个办法是直接用Paul把Bart给替换掉: L[2] = ‘Paul’转载 2017-12-04 09:47:04 · 9782 阅读 · 1 评论 -
Python基础篇之List五.(删除元素)
Python从list删除元素Paul同学刚来几天又要转走了,那么我们怎么把Paul 从现有的list中删除呢?如果Paul同学排在最后一个,我们可以用list的pop()方法删除: L = [‘Adam’, ‘Lisa’, ‘Bart’, ‘Paul’] L.pop() ‘Paul’ print L [‘Adam’转载 2017-12-04 09:40:26 · 189 阅读 · 0 评论 -
Python基础篇之List四.(添加新元素)
Python之添加新元素现在,班里有3名同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢? 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾: L = [‘Adam’, ‘Lisa’,转载 2017-12-04 09:35:51 · 217 阅读 · 0 评论 -
Python基础篇之List二.(顺序访问List)
Python按照索引访问list由于list是一个有序集合,所以,我们可以用一个list按分数从高到低表示出班里的3个同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 那我们如何从list中获取指定第 N 名的同学呢?方法是通过索引来获取list中的指定元素。 需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0转载 2017-12-04 09:29:32 · 1771 阅读 · 0 评论