Python
yofer张耀琦
我喜欢自己开朗的性格
展开
-
Python代码运行助手
将下述demo文件保存下来,比如存为learning.py 然后运行,如果出现:Ready for Python code on port 39093...则说明成功了。demo#!/usr/bin/env python3# -*- coding: utf-8 -*-r'''learning.pyA Python 3 tutorial from http://www原创 2015-06-26 22:54:50 · 11195 阅读 · 1 评论 -
Python学习笔记 - function调用和定义
#其实上面只是一种假象,Python函数返回的仍然是单一值>>> r = move(100, 100, 60, math.pi / 6)>>> print(r)(151.96152422706632, 70.0)#实际上返回的是一个tuple!#但是,语法上,返回一个tuple可以省略括号,#而多个变量可以同时接受一个tuple,按位置赋给对应的值#所以,Python的函数返回多值实际就是返回一个tuple#但是写起来更方便#函数执行完毕也没有return语句时,自动return Non原创 2015-06-28 20:54:12 · 2647 阅读 · 0 评论 -
Python学习笔记 - 函数参数
Python的函数具有非常灵活的参数形态,既可以实现简单的调用,又可以传入非常复杂的参数。默认参数一定要用不可变对象,如果是可变对象,程序运行时会有逻辑错误!要注意定义可变参数和关键字参数的语法:*args是可变参数,args接受的是一个tuple:**kw是关键字参数,kw接收的是一个dict。以及调用函数时如何传入可变参数和关键字参数的语法:可变参数既可以直接传入:func(1, 2, 3), 又可以先组装list或tuple,再通过*args传入:func(*(1, 2, 3));关键字原创 2015-06-29 15:33:01 · 837 阅读 · 0 评论 -
Python学习笔记 - 高阶函数
高阶函数英文叫Higher-order function。什么是高阶函数?我们以实际代码为例子,一步一步深入概念。变量可以指向函数以Python内置的求绝对值的函数abs()为例,调用该函数用以下代码:>>> abs(-10)10但是,如果只写abs呢?>>> absin function abs>可见,abs(-10)是函数调用,而abs是函数本身转载 2015-06-30 00:09:02 · 1062 阅读 · 0 评论 -
Python学习笔记 - map reduce
#!/usr/bin/env python3# -*- coding: utf-8 -*-def f(x): return x * xr = map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])# 结果r是一个Itertator,是惰性序列# 通过list()函数让它把整个序列都计算出来并返回一个listprint(list(r))# [1, 4, 9, 16原创 2015-06-30 00:53:05 · 1676 阅读 · 2 评论 -
Python学习笔记 - 生成器generator
#!/usr/bin/env python3# -*- coding: utf-8 -*-# generator 生成器L = [x * x for x in range(10)]print(L)# [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]g = (x * x for x in range(10))print(g)# at 0x00000000原创 2015-06-29 22:24:06 · 1823 阅读 · 3 评论 -
Python学习笔记 - 切片
#!/usr/bin/env python3# -*- coding: utf-8 -*-def fact(n): if n == 1: return 1 return n * fact(n - 1)def fact(n): return factIter(n, 1)def factIter(num, product): if num == 1: return pro原创 2015-06-29 20:50:31 · 661 阅读 · 0 评论 -
Python学习笔记 - 迭代Iteration
任何可迭代对象都可以作用于for循环,包括我们自定义的数据类型,只要符合迭代条件,就可以使用for循环。原创 2015-06-29 21:22:13 · 781 阅读 · 0 评论 -
Python学习笔记 - 列表生成式listComprehensions
#!/usr/bin/env python3# -*- coding: utf-8 -*-list(range(1, 11))# 生成1乘1,2乘2...10乘10L = []for x in range(1, 11): L.append(x * x)# 上面太麻烦,看下面[x * x for x in range(1, 11)]# [1, 4, 9, 16, 25, 36原创 2015-06-29 21:45:12 · 926 阅读 · 0 评论 -
Python学习笔记 - 迭代器Iterator
我们已经知道,可以直接作用于for循环的数据类型有以下几种:一类是集合数据类型,如list、tuple、dict、set、str等;一类是generator,包括生成器和带yield的generator function。这些可以直接作用于for循环的对象统称为可迭代对象:Iterable。可以使用isinstance()判断一个对象是否是Iterable对象:转载 2015-06-29 22:34:05 · 2977 阅读 · 0 评论 -
Python学习笔记 - dict和set
dict内部存放的顺序和key放入的顺序是没有关系的和list相比较,dict有以下几个特点:1.查找和插入的速度极快,不会顺着key的增加而增加2.需要占用大量的内存,内存浪费多而list相反:1.查找和插入的时间随着元素的增加而增加;2.占用空间小,浪费内存很少。所以,dict是用空间来换取时间的一种方法。dict可以用在需要高速查找的很多地方。需要牢记的第一条就是dict的key必须是不可变对象。这是因为dict根据key来计算value的存储位置,如果每次计算相同的key得原创 2015-06-28 20:05:19 · 647 阅读 · 0 评论 -
Python学习 - 输入和输出
#输出print('hello, python')print('The quick brown fox', 'jumps over', 'the lazy dog')#多个字符串,用逗号隔开,就可以连成一串输出#print()会依次打印每个字符串,遇到逗号会输出一个空格print(300) # 300print(100 + 200) # 300print('100 + 200原创 2015-06-26 23:23:45 · 724 阅读 · 0 评论 -
Sublime Text [Decode error - output not utf-8]
问题:Sublime Text 在build Python时,如果python源代码里有中文,例如“print(‘中文’)”,Sublime Text 会报[Decode error - output not utf-8]分析:在Sublime Text里,新建一个python源码文件,内容为:import sysprint(sys.stdin.encoding)p转载 2015-06-27 23:21:50 · 1029 阅读 · 0 评论 -
字符编码
字符编码我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),如果要表示更大的整数,就必须用更多的字节。比如两个字节可以表示的转载 2015-06-27 23:05:15 · 637 阅读 · 0 评论 -
Python学习笔记 - 数据类型和变量
Python中有整数和浮点数,表示方法和C语言一样浮点数也很像,不过Python可以用单引号把字符串括起来字符串是以单引号'或双引号"括起来的任意文本,比如'abc',"xyz"等等。请注意,''或""本身只是一种表示方式,不是字符串的一部分,因此,字符串'abc'只有a,b,c这3个字符。如果'本身也是一个字符,那就可以用""括起来,比如"I'm OK"包含的字符是I,',m,空格,O,原创 2015-06-26 23:51:07 · 875 阅读 · 0 评论 -
Python学习笔记 - 字符串和编码
#!/usr/bin/env python3# -*- coding: utf-8 -*-#第一行注释是为了告诉Linux/OS X系统,#这是一个Python可执行程序,Windows系统会忽略这个注释;#第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,#否则,你在源代码中写的中文输出可能会有乱码。'''>>> ord('A')65>>> ord('中'原创 2015-06-28 00:16:14 · 586 阅读 · 0 评论 -
Python学习笔记 - list和tuple
tuple不可变,因为tuple不可变,所以代码更安全。如果可能,能用tuple代替list就尽量用tuple。tuple的陷阱:当定义一个tuple时,在定义的时候,tuple的元素就必须被确定下来,eg原创 2015-06-28 17:30:03 · 808 阅读 · 0 评论 -
Python学习笔记 - ifelifelse-forin-while
if elif else#!/usr/bin/env python3# -*- coding: utf-8 -*-age = 20if age >= 18: print('your age is', age) print('adult')age = 3if age >= 18: print('your age is', age) print('adult')else:原创 2015-06-28 19:23:24 · 793 阅读 · 0 评论 -
Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱
Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱2015-04-27 程序猿 程序猿来自:我爱自然语言处理,www.52nlp.cn链接:http://www.52nlp.cn/python-%E7%BD%91%E9%A1%B5%E7%88%AC%E8%99%AB-%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86-转载 2015-06-11 00:36:01 · 1738 阅读 · 0 评论