1 Function
a function is a device that groups a set of statements so they can be run more than once in a program.
1) def statements
def <name>(arg1, arg2,... argN): <statements>
Function bodies often contain a return statement:
def <name>(arg1, arg2,... argN): ... return <value>
2) def executes at runtime
if test: def func(): # Define func this way ... else: def func(): # Or else this way ... ... func() # Call the version selected and buil
One way to understand this code is to realize that the def is much like an = statement: it simply assigns a name at runtime.
Unlike C, Python functions do not need to be fully defined before the program runs. More generally, defs are not evaluated until they are reached and run, and the code inside defs is not evaluated until the functions are later called.
Because function definition happens at runtime, there’s nothing special about function name. What’s important is the object to which it refers:
othername = func # Assign function object othername() # Call func again
2 Example 1 - Definitions and Calls
1) definition
>>> def times(x,y): ... return x * y ...
2) call
>>> times(4,5) # Arguments in parentheses
20
>>> x = times(3.14,4) >>> x # Save the result object 12.56
>>> times('Ha',4) # Functions are "typeless" 'HaHaHaHa'
3 Example 2 - Intersecting Sequences
1) definition
>>> def intersect(seq1,seq2): ... res = [] # Start empty ... for x in seq1: # Scan seq1 ... if x in seq2: # Common item? ... res.append(x) # Add to end ... return res ...
2) call
>>> s1 = "SPAM" >>> s2 = "SCAM" >>> intersect(s1,s2) # Strings ['S', 'A', 'M']
>>> [x for x in s1 if x in s2] ['S', 'A', 'M']
3) polymorphism revisited
>>> x = intersect([1,2,3],(1,4)) # Mixed types >>> x # Saved result object [1]
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步