Grundlegende Verwendung der Python3.x-Lernfunktion

Funktionsnutzung

 

Funktionsparametertyp

Unveränderliche Typparameter: numerisch, Zeichenfolge str, Tupel Tupel. 
Variablentyp:
a ist in den Listen- und Wörterbuch-Diktierfunktionen unveränderlich. Fun (a) ändert den Wert von a intern, ändert jedoch nur ein anderes kopiertes Objekt, ohne a selbst zu beeinflussen.
1. Das Übergeben unveränderlicher Typparameter wirkt sich nicht auf den Parameter selbst aus.
2. Das Übergeben von Parametern vom Variablentyp wirkt sich auf den Parameter selbst aus

# Unveränderlicher Parametertyp 
a = 1 print (id (a)) # 2009628784 def func (a): a = 10 print (a, id (a)) func (a) # 20 2009629392 def func (a): a = 1 print (a, id (a)) func (a) # 1 2009628784 print (a, id (a)) # 1 2009628784

 

# Variable Parameter Typ 

B = [10,20 ]
 Druck (ID (B))
 # 2324968580360 


DEF FUNC (B): 
    b.append ( 30 )
     Drucken (ID (B)) 


FUNC (B) 
# 2324968580360 
Drucken (B, id (b))
 # [10, 20, 30] 2324968580360

 Funktionsparameter (obligatorische Parameter, Standardparameter, optionale Parameter, Schlüsselwortparameter)

 

# Obligatorischer Parameter 

def func1 (x): 
    Rückgabe x * x 

func1 ( 2 ) 

# 4 # Standardparameter 

, 
#Hinweis: Der Standardparameter muss nach dem obligatorischen Parameter 
# Defect:
funcX DEF (L = []): 
    L.append ( am Ende zurück L funcX () # , wenn die Funktionsdefinitionen, Standardparameter durch die Adresse L hergestellt haben festgestellt , dass jeder Anruf den L Inhalt ändert.
  


 
 

def func2 (x, y = 10 ):
     Rückgabe x * y 

func2 ( 3 ) 
# 30 

func2 ( 3 , 5 ) 
# 15 

optionaler Parameter

def func3 (* nmbers):
  sum = 0
  für i in Zahlen:
    sum = sum + i * i
  return sum

func3 ([1,2,3])
# 14

Schlüsselwortparameter

def func4 (Name, ** kwargs):
  print ("data:", kwargs)

 

 

Rekursive Funktion

Rekursive Funktion Wenn sich eine Funktion intern aufruft, ist diese Funktion eine rekursive Funktion. 
Bedingungen für die Verwendung rekursiver Funktionen:
1. Der Ausgang muss verlassen werden.
2. Rufen Sie Ihren eigenen

Fall auf1:
# . Rekursive Funktion Auswertung 3 .... * 2 * 1 * 7 * 8 * 9 * 10.. 
DEF FUNC (X): 

    IF . X == 1 :
         return X
     return X * func (. -X 1 ) 

Drucke (FUNC (10 )) 

# 3628800

 

Fall 2:

# Erweitern Sie die Liste alle 

lst1 = [1,2, [3,4, [5, [6, [7], 8,9]], 10], 11,12,13 ] lst2 = [] def func (lst1 ): für i in LST1: IF isinstance (i, Liste): # wenn Liste func (i) ausgeführt wird func (i) die sonst : lst2.append (i) # wenn es nicht in lst2 Elementliste gesetzt wird func ( lst1) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]

Fall 3:

# Verwenden Sie die rekursive Funktion, um die Fibonacci-Sequenz 
#
1 1 # 2 2 # 3 2 + 1 = 3 # 4 3 + 2 = 5 # ... # nf (n-1) + f (n-2) def func zu finden (n): wenn n == 1 oder n == 2 : return n return func (n-1) + func (n-2 ) print (func (5 )) # 8

case3 :

Ein Frosch kann 1 oder 3 oder 7 oder 10 Schritte gleichzeitig springen. F: Es gibt n Schritte. Auf wie viele Arten kann ein Frosch hochspringen?
1-2 1 n <= 2 f (n) = 1 
3 2 f (2) + f (0) = 2 
4 2 + 1 = 3 f (3) + f (1) = 4 
5 3 + 1 = 4 
6 4 + 2 = 6 
... 
nf (n - 1) + f (n - 3) + f (n - 7) + f (n - 10 ) 


def func (x):
     wenn 1 <= x <3 :
         return 1
     elif x < 0:
         return 0
     else :
         return func (x-1) + func (x-3) + func (x-7) + func (x-10 ) 

print (func (10 )) 

# 22

 

Funktionsnamensraum

Namespaces werden in drei Typen unterteilt: lokaler Namespace, globaler Namespace und integrierter 

lokaler Namespace-Namespace: Jede Funktion verfügt über einen eigenen Namespace, den so genannten lokalen Space, der die Variablen der Funktion einschließlich Funktionsparameter und lokal aufzeichnet Definierte Variablen
def test (): 
    a = 2 
    print (a) 

test () 
print (a) 

# 2  
#NameError: Name ' a '  ist nicht definiert


Globaler Namespace: Jedes Modul verfügt über einen eigenen Namespace, den so genannten globalen Namespace, der die Variablen des Moduls aufzeichnet, einschließlich Funktionen, Klassen und anderer importierter Module.
a = 2 

def test (): 
    print (a) 

test () 
print (a) 

# 2 
# 2

 



Eingebauter Namespace: Jedes Modul kann darauf zugreifen, es speichert eingebaute Funktionen und Ausnahmen.
print (), input () ...

 

Lokale und globale Variablen

Lokale Variablen: Innerhalb der Funktion definierte Variablen 
Globale Variablen: Außerhalb der Funktion definierte Variablen. Wenn es sich um unveränderliche Typen handelt, können sie nicht innerhalb der Funktion geändert werden
name = ' zzq ' 
list1 = [ 10 ] 
def func (): 
    name = ' johnson ' 
    list1.append (name) 
    print ( " inner " , name) 
func () 
print ( " äußere " , name) 
print (list1) 

# innerer Johnson 
# äußerer zzq 

name = ' zzq ' 
name = ' johnson ' 
def func (): 
    globaler Name # 全局 变量
    name = ' 123' 
func () 
print (name) 

# 123 

name = ' zzq ' 
def func1 (): 
    name = ' ls ' 
    def func2 (): 
        nichtlokaler Name # Wenn der lokale Funktionsbereich keine Variable finden kann, wird der Interpreter automatisch Suchen Sie in der äußeren Funktion nach 
        name = ' abc ' 
    func2 () 
    print ( " --------- " , name) 
func1 () 
print (name)
    • Funktionen definieren den lokalen Bereich, während Module den globalen Bereich definieren.
      Wenn Sie den globalen Bereich in der Funktion definieren möchten, müssen Sie den globalen Modifikator hinzufügen.
    • Auflösung von Variablennamen: LEGB-Prinzip
      Bei Verwendung nicht authentifizierter Variablennamen in Funktionen sucht Python nach 4 Bereichen [lokaler Bereich (L) (Funktionen, die intern deklariert werden, jedoch keine globalen Variablen verwenden), gefolgt von der Struktur der oberen Ebene Der lokale Bereich (E) von def oder Lambda, gefolgt vom globalen Bereich (G) (Variablen, die in der Funktion unter Verwendung von global oder auf Modulebene deklarierten Variablen deklariert wurden) und schließlich dem integrierten Bereich (B) (dh der integrierten Klasse von Python) Und Funktionen usw.)] und halten an der ersten Stelle an, an der der Variablenname gefunden werden kann. Wenn der Variablenname während des gesamten Suchvorgangs
      nicht gefunden wird, meldet Python einen Fehler.
    • Nachdruck unter https://www.cnblogs.com/summer-cool/p/3884595.html

 

Ich denke du magst

Origin www.cnblogs.com/johnsonbug/p/12610758.html
Empfohlen
Rangfolge