//fourth day to study python
24. In python , how to create funcation.
we can use def to define funcation. such as:
def MyFirstFuncation():
print('this is my first funcation')
MyFirstFuncation()
-> this is my first funcatio.
if there are no MyFirstFuncation , it will be have an error.
of course , we can pass a parameter
def MySecondFuncation(language):
print(' i love ' + language)
MySecondFuncation('python')
->i love python
if parameter is more , we can use comma divided parameter, such as:
def AddFuncation(num1,num2):
print(num1 + num2)
-> 3
how to use return:
def SubFuncation(num1,num2):
return (num1 - num2)
print(SubFuncation(6,3))
-> 3
ok , next to study
def myFuncation(m):
'do you know what is funcation'
#this is secret
print('my'+m+'roy')
myFuncation.__doc__
-> do you know what is funcation
next example:
def sortFuncation(str1,str2):
print(str1,str2)
sortFuncation('second','first')
-> second first
sortFuncation(str2 = 'second', str1 = 'first')
-> first second
default funcation:
def defaultFuncation(name='wyg',age='12'):
print(my name is '+name+'age is '+age)
defaultFuncation()
-> my name is wyg age is 12
def textPara(*paras):
print('parameters length is:',len(paras))
print('the second parameters is:',paras[1])
textPara(1,2,3,'roy')
->
parameters length is: 4
the second parameters is: 2
def textPara(*paras,exp):
print('parameters length is:',len(paras),exp)
print('the second parameters is:',paras[1])
textPara(1,2,3,'roy',exp = 6)
->
parameters length is: 4 6
the second parameters is: 2
//fifth day to study python(2016/8/6)
25. In python ,how to return one or more value, such as:
def back():
return [1,3.14,'roy']
print(back())
-> [1,3.14,'roy']
def back():
return 1,3.14.'roy'
print(back())
-> (1,3.14,'roy')
26. In python , Local Variable and Global Variable . Look at example,
def textFuncation(num1, num2):
result = num1 * num2
return result
num1_input = float(input('input num1:'))
num2_input = float(input('input num2:'))
res = textFuncation(3,5)
print(result is:',res)
-> result is 15
now we analyse which is local variable and which is global variable
num1,num2,result is local variable
num1_input,num2_input,res is global variable
but we need to know if we modify global variable in funcation , global variable will not change , it will create a local variable with the same name global name ,we can access global variable in funcation ,but try not to modify it. if you want to mofify it , we continue to study it.
27. In python , if you want to change global variable in funcation ,how to achieve it.
count = 5
def myFun():
global count
count = 10
print(count)
myFun()
print(count)
-> 10, 10
if you not to use global ,the result is 10, 5
28. In python , how to invoke a funcation in another funcation, the follow is most simple example:
def fun1():
print('fun1 is using')
def fun2():
print('fun2 is using')
fun2()
fun1()
->
fun1 is using
fun2 is using
fun2 not invole by other except fun1
29. In python , support lambda, such as:
def fun(x):
return 2 * x + 1
fun(5)
-> 11
g = lambda x : 2 * x + 1
g(5)
-> 11
g = lambda x, y : x + y
g(3,4)
-> 7
30. In python , there are two important built-in funcation i will introduce it
first is filter(None or funcation, iterable)
such as :
temp =filter(None,[1,0,False,True,3.14,-4])
->
[1,True,3.14,-4] #result is true
def odd(x):
return x % 2
temp = range(10)
show = filter(odd,temp)
list(show)
->
[1,3,5,7,9]
<->
list(filter(lambda x:x % 2, range(10)))
-> [1,3,5,7,9]
the second is map()
list(map(lambda x:x * 2, range(5)))
-> [0,2,4,6,8]
31. In python ,there are alse have recursion.
by default ,the depth is 100 , but you can change it.
import sys
sys.setrecursionlimit(1000)
def recursion():
return recursion()
recursion()
now we can count a simple question:
how to achieve 1 * 2 * 3 * 4 * 5
def funcation(n):
result = n
for i in range(1, n)
result *= i
return result
print(funcation(5))
-> 120
now we can change a way to achieve it ,by recurtion:
def recurtion(n):
if n ==1:
return 1
else:
return n * recurtion(n-1)
print(recurtion(5))
-> 120
we can see another question, how to achieve :1, 1, 2, 3, 5, 8, 13, 21
as you know ,the regular is :
f(1) = 1,
f(2) = 1,
f(n) = f(n-1)+f(n-2)
def funcation(n):
if n == 1 or n == 2:
return 1
else:
return funcation(n - 1) * funcation(n - 2)
print(funcation(6))
-> 8
now we see a classic question hanoi:
def hanoi:(n,x,y,z):
if n == 1:
print(x,'->,z)
else:
hanoi(n-1,x,z,y)
print(x,'->',z)
hanoi(n-1,y,x,z)