pythonlambda函数计算三次幂 描述_python(3)模块、函数式 、三元运算、Lambda表达式、序列化,正则...

一、模块和模块的常用方法

__name__

判断是否为主文件

>>> print __name__   #判断是否是主文件,如果是主文件就返回_main_

__main__

__file__

返回当前.py文件的路径

cat /root/1.py

print __file__

测试:python 1.py

/root/1.py

__doc__

对模块的一个描述

二、函数

简单函数测试

cat 2.py

#!/bin/env python

def  bro():                #定义函数名为bro

print  'hello'

heo()                #调用hro函数

def  hro():                #定义函数名为hro

print 'world'

bro()                    #执行bro函数

测试:python 2.py

hello

world

1.概念:

・在Python中采用def关键字进行函数的定义

・函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段

2.格式

def 函数名(参数列表):

函数体

3.实例:

(1)定义函数并调用

代码:

def foo(name):           #定义name为形参

print name,'去砍柴'      #打印变量,和动作

foo('张三')            #执行函数,括号内为实参

foo('赵四')

结果:

张三 去砍柴

赵四 去砍柴

(2)用函数写登陆小程序

代码:

#定义函数

def login(username):          #username这里为形参

if username == 'aaa':

print 'ok'

else:

print 'no'

#执行函数

user = raw_input('请输入用户名')

login(user)               #执行函数

返回值:根据返回值做相应的操作

1.实例:

(1)根据返回值做相应操作

代码

#定义函数

def login(username):

if username == 'aaa':      #判断用户名是否为aaa

return 'ok'        #如果是aaa,则返回值为'ok'

else:

return 'no'        #否则返回值为'no'

#调用函数

user = raw_input('请输入用户米:')

res = login(user)             #接受返回值,定义执行函数的过程为res,res随便写

if  res == 'ok':            #如果返回值是OK

print '成功'

else:                    #否则

print '失败'

函数的默认参数:定义默认参数,如果下面调用函数时不指定参数,默认就是这个参数,默认参数可以无限定义

1.实例:

(1)定义两个参数和一个默认参数

代码:

#定义函数

def foo(name,action='去砍柴'):   #第一个参数为内容,第二个参数的默认参数

print name,action

#调用函数

foo('zhangsan')           #调用函数,输入第一个参数为zhangsan

foo('lisi','去吃饭')         #调用函数,输入一个参数和第二个参数

结果:

zhangsan 去砍柴

lisi 去吃饭

(2)定义函数,打印多个传参         #把所有参数封装成列表或者序列

代码:

#定义函数

def  show(*arg):          #加*是所有的意思

for item in arg:      #这里是随便定义一个,也可以写别的

print item

#调用函数

show('zhangsan','lisi')

结果:

zhangsan

lisi

(3)定义函数,打印多个传参        #把所有参数封装成字典,得加个字典

代码

#定义函数

def  show(**kargs):

for item in kargs.items():

print item

#调用函数

show(name='zhangsan',age='lisi')

结果:

('age', 'lisi')

('name', 'zhangsan')

(4)定义函数,传参字典,并打印

代码:

#定义函数

def  show(**kargs):

for item in kargs.items():

print item

#调用函数

usr_dict = {'k1':123,'k2':456}

show(**usr_dict)                     #传参字典必须加两个*

结果:

('k2', 456)

('k1', 123)

三、三元运算

1.举例:

(1)如果1>3,就把gt赋值给result,否则把lt赋值给result

代码

result =  'gt'  if 1>3  else  'lt'

print resule

结果:

lt

四、lambda

用途:比较简单的函数定义

举例:

(1)

代码:

temp = lambda x,y:x+y    #第一个x,y是参数,第二个x+y表示两个参数相加

print temp(4,4)          #4+4=8,temp负责接受参数

结果:

8

五、序列化和json

序列化:把一个对象(列表、字典等)以python特殊二进制的方式加密一下,这个过程叫做序列化

把一个对象序列化之后还可以反序列化

1.举例:

(1)把一个list转成str

语法:pickle.dumps(obj)

代码

import pickle

a = ['zhangsan',11,22,'lisi']

dumpsed = pickle.dumps(a)

print dumpsed

print type(a)

结果

(lp0

S'zhangsan'

p1

aI11

aI22

aS'lisi'

p2

a.

(2)把str转回list

语法:pickle.loads(str)

代码

import pickle

a = ['zhangsan',11,22,'lisi']

dumpsed = pickle.dumps(a)         #a是list,转成str,赋值给dumpsed

loadsed = pickle.loads(dumpsed)   #dumpsed是str转成list,赋值给loadsed

print loadsed

print  type(loadsed)

结果

['zhangsan', 11, 22, 'lisi']

(3)把list转成str并存到指定文件中,不打印

代码:

import pickle

a = ['zhangsan',11,22,'lisi']

pickle.dump(a,open('D:/temp.pk','w'))

结果

打开D:/temp.pk

(lp0

S'zhangsan'

p1

aI11

aI22

aS'lisi'

p2

a.

(4)把文件中的str转成list,并打印

代码

import pickle

result = pickle.load(open('D:/temp.pk','r'))  打开一个文件并把str转成list赋值给result

print  result

print type(result)

结果

['zhangsan', 11, 22, 'lisi']

六、正则表达式

1.正则表达式是re模块

(1)re.match:从开头开始匹配,如果开头没有就不继续向下匹配

代码

import re

a = re.match('\d+','123abc123')     #‘\d+’是匹配数字的意思,后边是字符串

print a.group()              #.group是把结果拿出来(这里是匹配到的123)

结果

123

(2)re.search:从整个字符串开始匹配,只要有符合就OK,就不继续往下匹配

代码

import re

a = re.search('\d+','456abc123')

print a.group()

结果

456

(3)re.findall:找出所有匹配的,不想match和search找到一个匹配的之后就不往下找

代码

import re

a = re.findall('\d+','456abc123def789')

print a

结果

['456', '123', '789']

(4)re.compile:先编译,然后利用findall查找,跟findall效果一样,但效率高

代码

import re

a = re.compile('\d+')

print a.findall('456abc123def789')

结果

['456', '123', '789']

2.正则表达式常用格式

字符:

\d:数字

\w:‘_’, ‘-’,等字符

\t:制表符

.:所有字符

次数:

*:大于等于0

+:大于等于1

?:0或者1

{m}:次数,比如让a出现6次

{m,n}:范围,比如出现3-5次之间的

七、time模块

打印当前时间:

代码

import time

print time.strftime('%Y-%m-%d ')

结果

2015-12-22

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值