本文主要是介绍0704学习笔记 函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
昨天问题解答
rstrip
line.rstrip()删除末位空格
- 这个是去除结尾的空白符,包括:空格、制表符、换行符它也可以接收一个参数,即:要清除的字符
- >>> a = 'aaaaaabbbbbbbbbaaaaaabbbb'
- >>> a.rstrip('b')
- 'aaaaaabbbbbbbbbaaaaaa'
- bytes
- help(bytes)你会发现:
- Help on class str in module __builtin__:
- class str(basestring)
- | str(object) -> string
变成了str,也就是说bytes其实就是str的别名。。。
- eval
- eval是将一个字符串以python代码的形式运行,字符串本身是不能够执行的,比如:
- a = '1+1' 在这里a的值是个字符串,是不可能为2的
- 但是a = eval('1+1') 其实就是将'1+1'转变为python语句也就是1+1(能够进行计算)这段代码就相当于a = 1+1所以此时a的值为2。
- 还可以用来做别的事情比如: a = eval('{"b": 1}') 运行之后a的值就是个字典了
- 还有个类似eval的函数,叫exec,也是将代码执行,不过稍有不同:exec('a='+'1+1')等同于exec('a=1+1')
对程序逻辑进行结构化或过程化的一宗编程方法。
将一些语句集合在一起的部件,能够不止一次在程序中运行。
1一种手段 能够将整块代码隔离成易于管理的小块,把重复代码放到函数中而不是进行大量拷贝。
2一种设计工具将复杂的系统分解成可管理的部件。
3能够计算出一个返回值,并能够改变作为函数输入的参数,这些参数在代码运行时也许每次都不同。
传递 函数是通过赋值和对象引用传递
参数通过赋值传递也就是对象引用传递给函数
改变参数名并不会改变调用者的变量名
但是改变传递的可变对象可以改变调用者共享的那个对象
1它们给代码片段命名,就跟“变量”给字符串和数字命名一样。
2它们可以接受参数,就跟你的脚本接受 argv 一样。
3通过使用 #1 和 #2,它们可以让你创建“微型脚本”或者“小命令”。
语句表达式
1调用 myfunc(“spam”,“eggs”)
2定义函数def,return,yield
def是一个可执行的语句
函数之前不存在知道运行到def时将生成一个函数对象,并将其赋值给这个函数名,
语句格式1有返回值 def 函数名(arg1,arg2,arg3,..argN):
return 值
2无返回值 def 函数名(arg1,arg2,arg3,..argN):
statement
可以嵌套在其他语句中
return 将一个结果对象发给调用者if tees:
def func():
else:
def func():
func()
return语句可以在函数主体中的任何地方出现他表示函数调用的结束并将结果返回至调用处。
lambda 当函数名变成某一个函数的引用,函数也可以通过lambda表达式来创建
func=[lambda x:x*2,lambda x:x*3]
global声明了一个模块级的变量并被赋值
在默认情况下所有在一个函数中被赋值的对象,是这个函数的本地变量,并且仅在这个函数运行的过程中存在为了分配一个可以在整个模块中可以使用的变量名,函数需要在global语句中将它列举出来。
global changer():
global r,="new"
参数返回值以及变量并不是声明类型
在python函数中没有类型约束,可以传递任意类型的参数给函数,函数也可以返回任意类型的对象。
举例寻找序列交集
def intersect(seq1,seq2):
#函数名intersect seq1和seq2是参数这里intersect什么意思和具体其他用法??
res=[]
for x in seq1:
if x in seq2:
res.append(x)
return res
#定义的这些变量都是本地变量只有函数运行的过程中才存在
>>> s1="spam"
>>> s2 = "scam"
>>> intersect(s1,s2)
['s', 'a', 'm']
>>> x = intersect([1,2,3],[1,4])
>>> x
[1]
这篇关于0704学习笔记 函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!