1.if __name__ == '__main__':

直接运行myModel.py时,当前模块的名字是main;import myModel然后运行的时候当前模块的名字是myModel。

2.eval: eval 函数的功能是将字符串生成语句并执行。

3.from module import class/func

module对应*.py文件,里面可以有class、func。class下还可以有func

4.利用set去重:links = [link for link in set(links)]

5.利用正则表达式匹配之后,根据组名取出值:

(?P\d+)是一个分组,item_count是组名

ret = re.search(r'count:\'(?P\d+)\'', html)

item_count = 0 if not ret else int(ret.group('item_count'))

6.python3,print作为函数使用:print("hello")

7.特殊变量_用于保存最后一次运算的结果

>>>600+100

700

>>>_+200

900

8.格式化输出:

print "%3d %0.2f" %(year,b)

print (format(year,"%3d"),format(b,"%0.2f"))

print "{0:3d} {1:0.2f}".format(year,b) #冒号前面的数字表示传递给format()方法的参数

9:python没有switch、case语句,使用多个if elif else 语句代替

10.for语句:for i in xrange(0,10)

11.按行读文件:

for line in open("foo.txt"):

print line

print写文件:

f = open("foo.txt",w)

while year<=nmyears:

principal = principal * (1 + rate)

print >>f,"%3d %0.2f" % (year,principal)

year +=1

f.close()

python3中不能使用>>,用下面代替:

print ("%3d %0.2f" % (year,principal),file = f)

write写文件:

f.write("%3d %0.2f\n" % (year,principal))

12.逻辑与、或、非:使用and、or、not

if a < 10 and a > :

print a

if b < 10 or b > 20:

print b

if not c

print c

13. utf8、gbk编码

>>> c=unicode('taobao_cocobella_35651013881_黑色','gbk').encode('utf8')

>>> c

'taobao_cocobella_35651013881_\xe9\xbb\x91\xe8\x89\xb2'

14.list、tuple、set、dict

list:可以增删,下标索引,连接。列表由于长度不固定,可增删,因此创建时会额外分配内存。

>>> a = [1,2,3,4,5]

>>> type(a)

>>> a[2]

3

>>> len(a)

5

>>> b = []

>>> c = list()

>>> b.append(a)

>>> b

[[1, 2, 3, 4, 5]]

tuple:不能增删,可以下标检索,连接,可以解包成变量,sql查询返回的就是tuple。元组由于长度固定,因此创建时分配内存就是这么大,不会额外分配。

>>> a =1,2,3,4

>>> a

(1, 2, 3, 4)

>>> type(a)

>>> b = ("hello",)

>>> b

('hello',)

>>> b[0]

'hello'

>>> studentInfo = ('Jack',24,'China')

>>> name,age,country = studentInfo

>>> name

'Jack'

>>> age

24

>>> country

'China'

>>> d = b + studentInfo

>>> d

('hello', 'Jack', 24, 'China')

可以list与tuple合起来用:

>>>students = []

>>> students.append(studentInfo)

>>> Hanmeimei = ('Hanmeimei',23,'USA')

>>> students.append(Hanmeimei)

>>> students

[('Jack', 24, 'China'), ('Jack', 24, 'China'), ('Hanmeimei', 23, 'USA')]

set:集合是无序的,可以用于去重,但是不能进行下标索引。支持并集、交集、差集、对称差集等。用add增加一项,update增加多项

>>> a = set()

>>> b = set([1,2,3,4,5])

>>> type(b)

>>> c = set([3,4,5,9,10,11])

>>> a = b | c

>>> d = b & c

>>> e = b - c

>>> f = b ^ c

>>> g = [a,d,e,f]

>>> g

[set([1, 2, 3, 4, 5, 9, 10, 11]), set([3, 4, 5]), set([1, 2]), set([1, 2, 9, 10, 11])]

>>> c.update([110,120,130])

>>> c

set([130, 3, 4, 5, 9, 10, 11, 110, 120])

>>> c.add(99)

>>> c

set([130, 3, 4, 5, 9, 10, 11, 110, 99, 120])

dict:字典,散列表。

>>> a = dict()

>>> b = {'name':'Jack','age':24,'country':'China'}

>>> b

{'country': 'China', 'age': 24, 'name': 'Jack'}

>>> b['name']

'Jack'

15.range、xrange

python3中xrange完全替换了python2中的range,统一成了range

在python2中,range(1000) 会立刻填满数据0,1,2。。。999

而xrange(1000)不会立刻填满,根据需要填值,省内存些。

16.生成器

使用yield的函数都是生成器,使用func.next()生成结果序列

>>> def func(n):

print 'Count down func. n = %s' % n

while n > 0:

yield n

n -=1

>>> count = func(10)

>>> count.next()

Count down func. n = 10

10

>>> count.next()

9

>>> for i in func(10):

print i

Count down func. n = 10

10

9

8

7

6

5

4

3

2

1

17.协程

使用(yield)创建协程,将输入参数作为一组任务,从而能处理一切发送过来的输入:

>>> def print_matches(matchText):

print "looking for",matchText

while True:

line = (yield)

if matchText in line:

print line

>>> matcher = print_matches('China')

>>> matcher.next()

looking for China

>>> matcher.send('fajsodfjaosidjfwodkfichafa asofjaofjwoijfoajsdf')

>>> matcher.send('I borned in China')

I borned in China

>>> matcher.close()

17.对象与类

dir()函数列出对象的所有可用方法,是交互试验的有用工具。

>>> dir(matcher)

['__class__', '__delattr__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__iter__', '__name__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'close', 'gi_code', 'gi_frame', 'gi_running', 'next', 'send', 'throw']

>>> dir(dict())

['__class__', '__cmp__', '__contains__', '__delattr__', '__delitem__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__setitem__', '__sizeof__', '__str__', '__subclasshook__', 'clear', 'copy', 'fromkeys', 'get', 'has_key', 'items', 'iteritems', 'iterkeys', 'itervalues', 'keys', 'pop', 'popitem', 'setdefault', 'update', 'values', 'viewitems', 'viewkeys', 'viewvalues']

>>> dir(set())

['__and__', '__class__', '__cmp__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__iand__', '__init__', '__ior__', '__isub__', '__iter__', '__ixor__', '__le__', '__len__', '__lt__', '__ne__', '__new__', '__or__', '__rand__', '__reduce__', '__reduce_ex__', '__repr__', '__ror__', '__rsub__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__xor__', 'add', 'clear', 'copy', 'difference', 'difference_update', 'discard', 'intersection', 'intersection_update', 'isdisjoint', 'issubset', 'issuperset', 'pop', 'remove', 'symmetric_difference', 'symmetric_difference_update', 'union', 'update']

>>> dir(list())

['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

>>> dir((1,2,3,4))

['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', 'count', 'index']

类的派生:

class Student(Person):

def __init__(self,sname):#构造函数

self.name = sname

def getName()

return self.name

@staticmethod

def studentNum()

pass

18.异常处理

(1)try except语句

try:

func()

excetp:

print "error!"

(2)raise手动抛异常

func(n):

if n < 0:

raise valueError("n < 0")

这样调用func的地方就可以通过try捕获异常

(3)with语句

import threading

message_lock = threading .Lock()

...

with message_lock:

message.add(newMessage)

with语句自动获取message_lock对象,当执行离开with代码块后(即message.add(newMessage)),后面的对象message_lock自动释放。无论with语句内部是否发生异常都将会释放该message_lock。有点类似于java中的finally语句。

19.模块

module.py文件作为一个模块,模块里面可以有class、普通方法(区别于类成员函数)

(1)import module #导入模块

(2)from module import funcOrClass #导入模块中的方法及类

(3)import module as otherModuleName #使用别名导入模块

20.帮助信息

(1)help

>>> help(set)

Help on class set in module __builtin__:

class set(object)

| set() -> new empty set object

| set(iterable) -> new set object

|

| Build an unordered collection of unique elements.

|

| Methods defined here:

|

| __and__(...)

| x.__and__(y) <==> x&y

|

| __cmp__(...)

| x.__cmp__(y) <==> cmp(x,y)

|

| __contains__(...)

| x.__contains__(y) <==> y in x.

|

| __eq__(...)

| x.__eq__(y) <==> x==y

。。。

(2)__doc__

>>> print list.__doc__

list() -> new empty list

list(iterable) -> new list initialized from iterable's items

python函数参考手册_python参考手册--第1章python简介相关推荐

  1. python函数中可变参数的传递方式_详解Python函数可变参数定义及其参数传递方式...

    Python函数可变参数定义及其参数传递方式详解 python中 函数不定参数的定义形式如下 1. func(*args) 传入的参数为以元组形式存在args中,如: def func(*args): ...

  2. 《利用Python进行数据分析·第2版》第13章 Python建模库介绍

    第1章 准备工作 第2章 Python语法基础,IPython和Jupyter 第3章 Python的数据结构.函数和文件 第4章 NumPy基础:数组和矢量计算 第5章 pandas入门 第6章 数 ...

  3. python函数的作用域_python函数的作用域和引用范围

    以下内容参考自runoob网站,以总结python函数知识点,巩固基础知识,特此鸣谢! 原文地址:http://www.runoob.com/python3/python3-function.html ...

  4. python函数基本概念_python——函数的基本概念

    版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_38727847/article/de ...

  5. python 函数参数注释_Python中函数添加注释 如何正确的为函数添加注释说明

    在前面鳄鱼君对Python的注释只是简单的提示一下,没有详细说明,在这片文章中会对Python中的一些注释方法进行说明,它非常重要. 在Python中单行注释和多行注释非常的简单: Python中文编 ...

  6. python函数画圆_python圆形_python圆形绘制_python圆形函数 - 云+社区 - 腾讯云

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 今天上课老师布置了一道pthon的课题,关键是和数学有关数学又是我的弱项头有点小 ...

  7. isdigit python函数什么意思_Python isdigit() 方法检测字符串是否只由数字组成

    把java文件打包成.jar (jar命令详解) 把java文件打包成.jar (jar命令详解) 先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar ...

  8. python函数参数列表_python函数的列表参数传递

    今天看书的时候发现对python函数的参数传递不是很了解,于是上网查询了一下资料.首先,看一下以下的代码: def default_para_trap(para=[],value=0): para.a ...

  9. python函数修饰器_Python函数装饰器指南

    Python 具有强大的功能和富有表现力的语法.我最喜欢的装饰之一.在设计模式的上下文中,装饰器动态更改方法或类功能,而不必直接使用子类.当您需要扩展功能,但不想修改原函数时,这是理想的选择.我们可以 ...

  10. shell调用python函数 参数 返回_Python之系统shell交互(subprocess)

    subprocess是Python 2.4中新增的一个模块,它允许你生成新的进程,连接到它们的 input/output/error 管道,并获取它们的返回(状态)码.这个模块的目的在于替换几个旧的模 ...

最新文章

  1. ndk 路径修改 超简单的方法
  2. redis为什么是cp_面试官:Redis怎么持久化的?如何回答持久化策略呢?
  3. 支持向量所在超平面方程_支持向量机通俗导论:理解SVM的三层境界(一)
  4. MySQL单表恢复方法
  5. 如何添加Samba用户
  6. 前端如何搭建一个成熟的脚手架
  7. python方格染色_判定二部图的着色算法(Python),题,染色法,判断,二分
  8. 让IIS只监听一个IP上的80端口
  9. sir模型初始值_SIR 模型笔记
  10. GEE、USGS、地理空间数据云上下载武汉地区的影像数据
  11. Kali dig命令
  12. imageJ二次开发之旅 – imageJ开源项目介绍
  13. MIL/SIL/PIL/HIL/VIL
  14. Python函数里的爱情故事
  15. audio标签无法播放amr格式音频解决方案(benz-amr-recorder)
  16. 浅谈当前互联网就业形势
  17. 驾校招生报名预约学车小程序开发制作
  18. 诺基亚java游戏那种_非诺基亚手机如何玩S40 Java游戏_网易手机频道
  19. 在已有vue项目中半途引入cube ui组件库的使用遇到的坑(血泪)
  20. 尚硅谷Redis6基础教程-秒杀案例中库存遗留问题

热门文章

  1. idea 调用c#接口_c# api接口开发
  2. 注意: hp proliant DL388 g7 驱动 与 hp proliant DL380驱动相同 !!
  3. 别再问我推荐什么书籍和网课,这次把私藏很久的资料都贡献了(上),建议收藏!
  4. 微信公众号开发Django 图片处理
  5. 2020煤气模拟考试及煤气模拟考试软件
  6. 移动app测试的多样性_移动可用性测试(四):远程测试
  7. go: can only use path@version syntax with 'go get' and 'go install' in module-aware mode
  8. 1-小白学习html-20.27
  9. Java面试题整理(带答案)
  10. 检测到磁盘可能为uefi引导_==多磁盘UEFI无法引导引导盘缺失解决方案==