- 博客(47)
- 资源 (8)
- 收藏
- 关注
转载 Python基础篇之__call__
python中 __call__ 在Python中,函数其实是一个对象: f = abs f.__name__ ‘abs’ f(-123) 123 由于 f 可以被调用,所以,f 被称为可调用对象。 所有的函数都是可调用对象。一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法_
2017-12-15 16:37:28 261
转载 Python基础篇之__slots__
python中 __slots__ 由于Python是动态语言,任何实例在运行期都可以动态地添加属性。如果要限制添加的属性,例如,Student类只允许添加 name、gender和score 这3个属性,就可以利用Python的一个特殊的__slots__来实现。顾名思义,__slots__是指一个类允许的属性列表:class Student(object): __slots__ =
2017-12-15 16:28:42 349
转载 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 391
转载 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 327
转载 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 576
转载 Python基础篇之__len__
python中 __len__ 如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。要让 len() 函数工作正常,类必须提供一个特殊方法__len__(),它返回元素的个数。例如,我们写一个 Students 类,把名字传进去:class Students(object): def __init__(self, *args): self.na
2017-12-15 11:36:14 1625
转载 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 752
转载 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 181
转载 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 282
转载 Python基础篇之面向对像
python之定义类并创建实例 在Python中,类通过 class 关键字定义。以 Person 为例,定义一个Person类如下:class Person(object): pass 按照 Python 的编程习惯,类名以大写字母开头,紧接着是(object),表示该类是从哪个类继承下来的。类的继承将在后面的章节讲解,现在我们只需要简单地从object类继承。有了Person类的定
2017-12-12 12:27:41 288
转载 Python基础篇之模块
python之导入模块 要使用一个模块,我们必须首先导入该模块。Python使用import语句导入一个模块。例如,导入系统自带的模块 math:import math 你可以认为math就是一个指向已导入模块的变量,通过该变量,我们可以访问math模块中所定义的所有公开的函数、变量和类: math.pow(2, 0.5) # pow是函数 1.4142
2017-12-12 10:33:05 245
转载 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 265
转载 Python基础篇之高阶函数
python把函数作为参数在2.1小节中,我们讲了高阶函数的概念,并编写了一个简单的高阶函数:def add(x, y, f): return f(x) + f(y) 如果传入abs作为参数f的值:add(-5, 9, abs) 根据函数的定义,函数执行的代码实际上是:abs(-5) + abs(9) 由于参数 x, y 和 f 都可以任意传入,如果 f 传入其他函数,就可以得到不同
2017-12-08 11:06:55 155
转载 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 348
转载 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 250
转载 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 171
转载 Python基础篇之函数
Python之什么是函数我们知道圆的面积计算公式为:S = πr² 当我们知道半径r的值时,就可以根据公式计算出面积。假设我们需要计算3个不同大小的圆的面积:r1 = 12.34 r2 = 9.08 r3 = 73.1 s1 = 3.14 * r1 * r1 s2 = 3.14 * r2 * r2 s3 = 3.14 * r3 * r3 当代码出现有规律的重复的时候,你就需要当心了,每
2017-12-06 11:07:29 366
转载 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 3690
转载 Python基础篇之dict
Python之什么是dict我们已经知道,list 和 tuple 可以用来表示顺序集合,例如,班里同学的名字:[‘Adam’, ‘Lisa’, ‘Bart’] 或者考试的成绩列表:[95, 85, 59] 但是,要根据名字找到对应的成绩,用两个 list 表示就不方便。如果把名字和分数关联起来,组成类似的查找表:‘Adam’ ==> 95 ‘Lisa’ ==> 85 ‘Bart’ ==>
2017-12-05 11:31:33 591
转载 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 2917
转载 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 857
转载 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 398
转载 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 203
转载 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 153
转载 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 341
转载 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 5300
转载 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 223
转载 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 364
转载 Python基础篇之tuple二.(创建单元素tuple)
Python之创建单元素tupletuple和list一样,可以包含 0 个、1个和任意多个元素。包含多个元素的 tuple,前面我们已经创建过了。包含 0 个元素的 tuple,也就是空tuple,直接用 ()表示: t = () print t () 创建包含1个元素的 tuple 呢?来试试: t
2017-12-04 09:56:30 405
转载 Python基础篇之tuple一.(创建tuple)
Python之创建tupletuple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。同样是表示班里同学的名称,用tuple表示如下: t = (‘Adam’, ‘Lisa’, ‘Bart’) 创建tuple和创建list唯一不同之处是用( )替代了[ ]。 现在,这
2017-12-04 09:51:50 2337
转载 Python基础篇之List六.(替换元素)
Python中替换元素假设现在班里仍然是3名同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 现在,Bart同学要转学走了,碰巧来了一个Paul同学,要更新班级成员名单,我们可以先把Bart删掉,再把Paul添加进来。 另一个办法是直接用Paul把Bart给替换掉: L[2] = ‘Paul’
2017-12-04 09:47:04 9796 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 196
转载 Python基础篇之List四.(添加新元素)
Python之添加新元素现在,班里有3名同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 今天,班里转来一名新同学 Paul,如何把新同学添加到现有的 list 中呢? 第一个办法是用 list 的 append() 方法,把新同学追加到 list 的末尾: L = [‘Adam’, ‘Lisa’,
2017-12-04 09:35:51 225
转载 Python基础篇之List三.(倒序访问List)
Python之倒序访问list我们还是用一个list按分数从高到低表示出班里的3个同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 这时,老师说,请分数最低的同学站出来。 要写代码完成这个任务,我们可以先数一数这个 list,发现它包含3个元素,因此,最后一个元素的索引是2: print L[2]
2017-12-04 09:31:08 1142
转载 Python基础篇之List二.(顺序访问List)
Python按照索引访问list由于list是一个有序集合,所以,我们可以用一个list按分数从高到低表示出班里的3个同学: L = [‘Adam’, ‘Lisa’, ‘Bart’] 那我们如何从list中获取指定第 N 名的同学呢?方法是通过索引来获取list中的指定元素。 需要特别注意的是,索引从 0 开始,也就是说,第一个元素的索引是0
2017-12-04 09:29:32 1782
转载 Python基础篇之List一.(创建List)
Python创建listPython内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。比如,列出班里所有同学的名字,就可以用一个list表示: [‘Michael’, ‘Bob’, ‘Tracy’] [‘Michael’, ‘Bob’, ‘Tracy’] list是数学意义上的有序集合,也就是说,lis
2017-12-04 09:27:02 3136
转载 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 15852
转载 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 868
转载 python基础篇之字符串
Python中定义字符串 前面我们讲解了什么是字符串。字符串可以用”或者”“括起来表示。如果字符串本身包含’怎么办?比如我们要表示字符串 I’m OK ,这时,可以用” “括起来表示:“I’m OK” 类似的,如果字符串包含”,我们就可以用’ ‘括起来表示:‘Learn “Python” in imooc’ 如果字符串既包含’又包含”怎么办?这个时候,就需要对字符串的某些特殊字符进行“转义”,
2017-12-01 10:06:00 242
转载 python基础篇之变量
Python中什么是变量 在Python中,变量的概念基本上和初中代数的方程变量是一致的。例如,对于方程式 y=x*x ,x就是变量。当x=2时,计算结果是4,当x=5时,计算结果是25。只是在计算机程序中,变量不仅可以是数字,还可以是任意数据类型。在Python程序中,变量是用一个变量名表示,变量名必须是大小写英文、数字和下划线(_)的组合,且不能用数字开头,比如:a = 1 变量a是一个整数
2017-12-01 10:03:50 188
23种设计模式,适用于各种语言
2011-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人