*Memo:
- My post explains a function (1).
One or more pass
statements, return
statements or values can be set to do nothing in a function, returning None
as shown below:
*Memo:
- Basically, a
pass
statement is used for the function to do nothing. - The function with no code gets error.
def func():
pass
pass
return
return
100
200
"Hello"
"World"
print(func())
# None
def func(): # SyntaxError: incomplete input
# No code
A variable, function and class can be assigned to parameters as shown below:
myvar = 'myvar'
def myfn():
return 'myfn'
class mycls:
v = 'mycls'
def func1(v, f, c):
print(v, f(), c.v)
def func2(v=myvar, f=myfn, c=mycls):
print(v, f(), c.v)
func1(myvar, myfn, mycls)
func1(v=myvar, f=myfn, c=mycls)
func2()
# myvar myfn mycls
A variable, function and class can be defined in a function as shown below:
def func():
myvar = 'myvar'
def myfn():
return 'myfn'
class mycls:
v = 'mycls'
print(myvar, myfn(), mycls.v)
func()
# myvar myfn mycls
<1D function>:
def func(num):
return num*2
print(func(3))
# 6
<2D function>:
def func(num):
def func(num):
return num*2
return func(num)*2
print(func(3))
# 12
<3D function>:
def func(num):
def func(num):
def func(num):
return num*2
return func(num)*2
return func(num)*2
print(func(3))
# 24
A function can be written in one line with ;
as shown below:
*Memo:
-
;
is optional for the end of code.
def func(): v1 = 3; v2 = 5; return v1 + v2
# def func(): v1 = 3; v2 = 5; return v1 + v2;
print(func())
# 8
def func(): v1 = 3 v2 = 5 return v1 + v2
def func(): v1 = 3; v2 = 5 return v1 + v2
def func(): v1 = 3 v2 = 5; return v1 + v2
def func(): v1 = 3 v2 = 5 return v1 + v2;
# Error
A function can be indirectly assigned to a variable and parameter but cannot be directly assigned to a variable like JavaScript except a lambda as shown below:
def myfn():
print('myfn')
v = myfn
v()
# myfn
def func1(f):
f()
func1(myfn)
# myfn
def func2(f=myfn):
f()
func2()
# myfn
v = def myfn(): print('myfn')
# SyntaxError: invalid syntax
v = myfn(): print('myfn')
# SyntaxError: invalid syntax
def func(f):
f()
func(def myfn(): print('myfn'))
func(myfn(): print('myfn'))
# SyntaxError: invalid syntax
def func(f=def myfn(): print('myfn')):
f()
# SyntaxError: invalid syntax
mylam = lambda: print('mylam')
mylam()
# mylam
def func(f):
f()
func(lambda: print('mylam'))
# mylam
def func(f=lambda: print('mylam')):
f()
func()
# mylam
The name of a function or parameter:
- can have letters,
_
and the digits except for the 1st character. - can be a reserved soft keyword.
- cannot start with a digit.
- cannot be a reserved keyword.
def True_100(True_100): pass
def tRuE_100(tRuE_100): pass
def _True100(_True100): pass
def True100_(True100_): pass
def match(match): pass
def case(case): pass
def type(type): pass
def _(_): pass
# No error
def True-100(True-100): pass
def 100_True(100_True): pass
def True(True): pass
def class(class): pass
def def(def): pass
# Error
A function name should be lower_snake_case as shown below:
var = 'abc'
my_var = 'abc'
my_first_var = 'abc'
def func(param): pass
def my_func(my_param): pass
def my_first_func(my_first_param): pass
Top comments (0)