python 函数

1  split()     通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。

语法

split() 方法语法:

str.split(str="", num=string.count(str)).

参数

  • str -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num -- 分割次数。默认为 -1, 即分隔所有。

返回值

返回分割后的字符串列表。

实例

以下实例展示了 split() 函数的使用方法:

实例(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- str = "Line1-abcdef \nLine2-abc \nLine4-abcd"; print str.split( ); # 以空格为分隔符,包含 \n print str.split(' ', 1 ); # 以空格为分隔符,分隔成两个

以上实例输出结果如下:

['Line1-abcdef', 'Line2-abc', 'Line4-abcd']
['Line1-abcdef', '\nLine2-abc \nLine4-abcd']

以下实例以 # 号为分隔符,指定第二个参数为 1,返回两个参数列表。

实例(Python 2.0+)

#!/usr/bin/python # -*- coding: UTF-8 -*- txt = "Google#Runoob#Taobao#Facebook" # 第二个参数为 1,返回两个参数列表 x = txt.split("#", 1) print x

以上实例输出结果如下:

['Google', 'Runoob#Taobao#Facebook']

python函数——形参中的:*args和**kwargs

来自https://www.cnblogs.com/xuyuanyuan123/p/6674645.html       感谢!

多个实参,放到一个元组里面,以*开头,可以传多个参数;**是形参中按照关键字传值把多余的传值以字典的方式呈现

*args:(表示的就是将实参中按照位置传值,多出来的值都给args,且以元祖的方式呈现)

示例:

1

2

3

4

5

def foo(x,*args):

    print(x)

    print(args)

 

foo(1,2,3,4,5)#其中的2,3,4,5都给了args

执行结果是:

1

2

1

(2, 3, 4, 5)

当args与位置参数和默认参数混用的情况下:(注意三者的顺序)

示例一、(三者顺序是:位置参数、默认参数、*args)

1

2

3

4

5

6

def foo(x,y=1,*args):

    print(x)

    print(y)

    print(args)

 

foo(1,2,3,4,5)#其中的x为1,y=1的值被2重置了,3,4,5都给了args

 执行结果是:

1

2

3

1

2

(3, 4, 5)

 示例二、(三者顺序是:位置参数、*args、默认参数)

1

2

3

4

5

6

def foo(x,*args,y=1):

    print(x)

    print(args)

    print(y)

 

foo(1,2,3,4,5)#其中的x为1,2,3,4,5都给了args,y按照默认参数依旧为1

 执行结果是:

1

2

3

1

(2, 3, 4, 5)

1

其中关于*,可以从2个角度来看(需要拆分来看):

1、从形参的角度来看:

示例:

1

2

3

def foo(*args):#其实这一操作相当于def foo(a,b,c,d,e):

    print(args)

foo(1,2,3,4,5)#其中的1,2,3,4,5都按照位置传值分别传给了a,b,c,d,e

执行结果是:

1

(1, 2, 3, 4, 5)

2、从实参的角度来看:

示例:

1

2

3

4

5

6

def foo(x,y,z):

    print(x)

    print(y)

    print(z)

     

foo(*(1,2,3))#其中的*(1,2,3)拆开来看就是:foo(1,2,3),都按照位置传值分别传给了x,y,z

执行结果是:

1

2

3

1

2

3  


**kwargs:(表示的就是形参中按照关键字传值把多余的传值以字典的方式呈现)

示例:

1

2

3

4

def foo(x,**kwargs):

    print(x)

    print(kwargs)

foo(1,y=1,a=2,b=3,c=4)#将y=1,a=2,b=3,c=4以字典的方式给了kwargs

执行结果是:

1

2

1

{'y': 1, 'a': 2, 'b': 3, 'c': 4}

关于**kwargs与位置参数、*args、默认参数混着用的问题:(注意顺序)

位置参数、*args、**kwargs三者的顺序必须是位置参数、*args、**kwargs,不然就会报错:

示例:

1

2

3

4

5

def foo(x,*args,**kwargs):

    print(x)

    print(args)

    print(kwargs)

foo(1,2,3,4,y=1,a=2,b=3,c=4)#将1传给了x,将2,3,4以元组方式传给了args,y=1,a=2,b=3,c=4以字典的方式给了kwargs

执行结果是:

1

2

3

1

(2, 3, 4)

{'y': 1, 'a': 2, 'b': 3, 'c': 4}

错误示例:(由于顺序错误)

1

2

3

4

5

def foo(x,**kwargs,*args):

    print(x)

    print(args)

    print(kwargs)

foo(1,y=1,a=2,b=3,c=4,2,3,4)

执行结果就会报错:

1

SyntaxError: invalid syntax

位置参数、默认参数、**kwargs三者的顺序必须是位置参数、默认参数、**kwargs,不然就会报错:

示例:

1

2

3

4

5

def foo(x,y=1,**kwargs):

    print(x)

    print(y)

    print(kwargs)

foo(1,a=2,b=3,c=4)#将1按照位置传值给x,y按照默认参数为1,a=2,b=3,c=4以字典的方式给了kwargs

执行结果是:

1

2

3

1

1

{'a': 2, 'b': 3, 'c': 4}

  

其中关于**,可以从2个角度来看(需要拆分来看):

1、从形参的角度来看:

示例:

1

2

3

def foo(**kwargs):#其实就是相当于def foo(y,a,b,c)

    print(kwargs)

foo(y=1,a=2,b=3,c=4)

执行结果是:

1

{'y': 1, 'a': 2, 'b': 3, 'c': 4}

2、从实参的角度来看:

示例一:

1

2

3

4

5

6

def foo(a,b,c,d):

    print(a)

    print(b)

    print(c)

    print(d)

foo(**{"a":2,"b":3,"c":4,"d":5})#**{"a":2,"b":3,"c":4,"d":5}是将字典里的每个值按照关键字传值的方式传给a,b,c,d

执行结果是:

1

2

3

4

2

3

4

5

示例二:

1

2

3

4

5

6

def foo(a,b,c,d=1):

    print(a)

    print(b)

    print(c)

    print(d)

foo(**{"a":2,"b":3,"c":4})#**{"a":2,"b":3,"c":4}是将字典里的每个值按照关键字传值的方式传给a,b,c;d依旧按照默认参数

执行结果是:

1

2

3

4

2

3

4

1



ModelCheckpoint   用法

来自    https://blog.csdn.net/breeze5428/article/details/80875323    ,感谢!
 

keras.callbacks.ModelCheckpoint(filepath,monitor='val_loss',verbose=0,save_best_only=False, save_weights_only=False, mode='auto', period=1)

参数说明:

    filename:字符串,保存模型的路径
    monitor:需要监视的值
    verbose:信息展示模式,0或1(checkpoint的保存信息,类似Epoch 00001: saving model to ...)
    save_best_only:当设置为True时,监测值有改进时才会保存当前的模型( the latest best model according to the quantity monitored will not be overwritten)
    mode:‘auto’,‘min’,‘max’之一,在save_best_only=True时决定性能最佳模型的评判准则,例如,当监测值为val_acc时,模式应为max,当监测值为val_loss时,模式应为min。在auto模式下,评价准则由被监测值的名字自动推断。
    save_weights_only:若设置为True,则只保存模型权重,否则将保存整个模型(包括模型结构,配置信息等)
    period:CheckPoint之间的间隔的epoch数

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值