Python의 일반적인 방법 및 기술 요약

伊谢尔伦
풀어 주다: 2017-06-28 13:19:55
원래의
1446명이 탐색했습니다.

이 글에서는 주로 문자열을 뒤집는 세 가지 방법, 사전을 순회하는 세 가지 방법, 목록을 순회하는 세 가지 방법, 사전 정렬 방법 등을 설명합니다. Python 일반적으로 사용되는 팁과 메소드, 필요한 친구들이 참고할 수 있습니다

1. 문자열을 뒤집는 세 가지 방법
1.1 C++에서 메소드를 시뮬레이션하고 이를 달성하기 위해 빈 문자열을 정의합니다빈 문자열을 설정하여 문자열을 순회합니다. 매개변수를 뒤에서 앞으로 가져오고 문자열 추가를 사용하여 새 문자열로 병합합니다

def reverse(text) :
    str = ''
    index = len(text) - 1
    while index >= 0 :
        str += text[index]
        index -= 1
    return str
로그인 후 복사


1.2 슬라이싱 방법 사용이것은 슬라이스가 음수 값을 가질 수 있는 기능입니다. 단계 크기를 -1로 변경하여 역 정렬을 수행합니다.

def reverse_1(text) :
    return text[::-1]
로그인 후 복사

1.3 목록 사용하기

목록의 역방향 방법을 사용하여 먼저 텍스트를 목록으로 변환한 다음 역방향 방법을 통해 역방향으로 만든 다음 Join을 통해 문자열로 연결합니다.

def reverse_2(text) :
    temp = list(text)
    temp.reverse()
    return ''.join(temp)
로그인 후 복사

2. Reduce를 사용하세요
익명 함수와 Reduce()를 사용하세요

def reverse_3(text) :
    return reduce(lambda x, y : y + x, text)
print reverse_3("Hello")
로그인 후 복사

3. 사전을 순회하는 네 가지 방법

dict={"a":"apple","b":"banana","o":"orange"} 
 
print "##########dict######################" 
for i in dict: 
        print "dict[%s]=" % i,dict[i] 
 
print "###########items#####################" 
for (k,v) in  dict.items(): 
        print "dict[%s]=" % k,v 
 
print "###########iteritems#################" 
for k,v in dict.iteritems(): 
        print "dict[%s]=" % k,v 
 
print "###########iterkeys,itervalues#######" 
for k,v in zip(dict.iterkeys(),dict.itervalues()): 
        print "dict[%s]=" % k,v
로그인 후 복사


4. 5. 사전 정렬 방법

사전은 값의 값에 따라 큰 것부터 작은 것 순으로 정렬됩니다(기본값은 작은 것부터 작은 것 순으로 정렬됩니다).

for key in lst :
    print key
    
for i in range(len(lst)) :
    print lst[i]
for index, key in enumerate(lst) :
    print key    //index是list的索引
로그인 후 복사
아래 코드를 분석하여 dic.iteritems()를 인쇄하여 [(키, 값)] 목록을 가져옵니다.
그런 다음 key 매개변수를 통해 정렬된 메서드를 사용하여 정렬이 값, 즉 첫 번째 요소 d[1의 값을 기반으로 하도록 지정합니다. reverse = True는 뒤집어야 함을 의미합니다. 기본값은 작은 것에서 큰 것입니다. 뒤집으면 큰 것에서 작은 것입니다.

키를 기준으로 사전 정렬:

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[1], reverse = True)
print dict
//输出的结果:
[('aa', 74), ('a', 31), ('bc', 5), ('asd', 4), ('c', 3), ('d', 0)]
로그인 후 복사


6. 하위 클래스 및 상위 클래스

Subclass

Constructor상위 클래스의 초기화 생성자 호출

dic = {'a':31, 'bc':5, 'c':3, 'asd':4, 'aa':74, 'd':0}
dict= sorted(dic.iteritems(), key=lambda d:d[0]) # d[0]表示字典的键
print dict
#sorted中第三个可选参数为reverse, True表示从大到小排序
#默认reverse = False
로그인 후 복사

하위 클래스는 동일한 이름의 상위 클래스 함수를 호출합니다
class A(object) :
    def init(self) :
        print  "testA
class B(A) :
    def init(self) :
        A.init(self)
로그인 후 복사


7 . 매개변수를 전달하는 보다 유연한 방법

super().fuleifunction()
로그인 후 복사

변수 앞에 별표(*)를 추가하세요. 호출 시 매개변수는 tuple()object에 저장되고 형식 매개변수에 할당됩니다. 함수 내에서 매개변수를 처리해야 하는 경우 이 튜플 유형의 형식 매개변수(여기서는 args)에 대해서만 작업하면 됩니다. 따라서 함수는 정의할 때 매개변수 수를 지정할 필요가 없으며 매개변수 수에 관계없이 처리할 수 있습니다.

func2(a=1, b=2, c=3) #默认参数
func3(*args)         #接受任意数量的参数, 以tuple的方式传入
func4(**kargs)       #把参数以键值对字典的形式传入
로그인 후 복사

Python의 매개변수는 다양한 형태로 결합될 수 있습니다. 함께 사용할 때는 먼저 함수 작성에 주의해야 하며, 이를 준수해야 합니다. 1 기본값이 있는 형식 매개변수(arg=)는 다음과 같습니다. 기본값이 없는 형식이어야 합니다 형식 매개변수(arg)

2. 튜플 매개변수(*args)는 형식 매개변수(arg=) 뒤에 있어야 하며 기본값은

3입니다. 튜플 매개변수(*args) 뒤에 와야 합니다.

함수 호출 시 매개변수 전달 프로세스는 다음과 같습니다.

1. 지정된 매개변수가 없는 실제 매개변수를 형식 매개변수에 순서대로 할당합니다.

2. 지정된 매개변수 이름(arg=v)을 해당 형식 매개변수에 추가합니다.

3. 지정된 매개변수가 없는 추가 실제 매개변수를 튜플로 포장하고 이를 튜플 매개변수(*args)에 전달합니다.

4. dict로 변환하여 사전 매개변수에 전달합니다(**kargs)


8. 람다
Expression

람다 표현식은 익명 함수로 간주될 수 있습니다

람다 표현식의 문법 형식: 람다 매개변수 목록: 표현식 #없음 매개변수 목록 주위에 괄호가 있고 반환 값 Words 앞에 반환 키가 없으며 함수 이름

def calcSum(*args):
    sum = 0
    for i in args:
        sum += i
        print sum
#调用:
calcSum(1,2,3)
calcSum(123,456)
calcSum()
#输出:
6
579
0
#################################
def printAll(**kargs):
    for k in kargs:
    print k, ':', kargs[k]
printAll(a=1, b=2, c=3)
printAll(x=4, y=5)
#输出:
a : 1
c : 3
b : 2
y : 5
x : 4
로그인 후 복사

Analytic
이 없습니다. fn(2)이 호출된 후에는 a = 람다 y: 2 + y와 동일하며, 그런 다음 a(3)이 호출될 때.
인쇄 람다 y: 2 + 3

과 같습니다.

위 내용은 Python의 일반적인 방법 및 기술 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿