>  기사  >  백엔드 개발  >  Python 기본 내장 함수 및 재귀에 대한 자세한 설명

Python 기본 내장 함수 및 재귀에 대한 자세한 설명

PHP中文网
PHP中文网원래의
2017-06-21 13:18:411672검색

1. 내장 함수

몇 가지 간략하게 소개합니다:

1.abs() 절대값 찾기

2.all() iterable의 모든 요소가 true인 경우(또는 iterable은 비어 있음), <code class="docutils literal"><span class="pre">True</span>

3.any() 如果 iterable 的任何元素为真,则返回 <code class="docutils literal"><span class="pre">True</span>。如果iterable为空,则返回 <span class="pre">False</span>

4.callable() 如果 object 参数出现可调,则返回 <span class="pre">True</span>,否则返回 <span class="pre">False</span>

5.divmod() 以两个(非复数)数字作为参数,并在使用整数除法时返回由商和余数组成的一对数字。对于混合操作数类型,二进制算术运算符的规则适用。对于整数,结果与 <span class="pre">(a<span class="pre">//<span class="pre">b,<span class="pre">a<span class="pre">%<span class="pre">b)</span></span></span></span></span></span> 相    同。对于浮点数,结果为 <span class="pre">(q,<span class="pre">a<span class="pre">%<span class="pre">b)</span></span></span></span>,其中q 通常为 <span class="pre">math.floor(a<span class="pre">/<span class="pre">b)</span></span></span>True

3.any()를 반환합니다. iterable의 요소 중 하나라도 true이면

맞습니다

. iterable이 비어 있으면 <span class="pre">False</span>

4.callable()을 반환합니다. object

매개변수가 조정 가능한 것으로 나타나면 <p>True<span class="pre"></span></p>, 그렇지 않으면 False

5.divmod() 반환 2개 소요 (비복소수) 숫자를 인수로 사용하고 정수 나누기를 사용할 때 몫과 나머지로 구성된 숫자 쌍을 반환합니다. 혼합 피연산자 유형의 경우 이진 산술 연산자에 대한 규칙이 적용됩니다. 정수의 경우 결과는 <p>(a<span class="pre">//</span>b,</p>a<div class="cnblogs_code">%</div>b)<p><span style="font-size: 14px"></span></p> <p></p> 과 동일합니다. 부동 소수점 숫자의 경우 결과는 <p>(q,<em>a</em>%<em>b)</em></p> <p></p>입니다. 여기서

q

는 일반적으로 <p>math.floor(a</p>/<p>b)</p> <p></p>, 그러나 1

6.enumerate()보다 작을 수 있습니다. 매개변수는 반복 가능한 객체여야 합니다. 함수 연산의 결과 는 반복자이고 출력 요소는 해당 인덱스 값입니다.

7.eval() 문자열을 추출하여 실행합니다.

8.frozenset() 불변 컬렉션, Frozenset()으로 정의된 컬렉션은 추가하거나 삭제할 수 없습니다. elements

9.globals () 현재 전역 기호 테이블을 나타내는 사전을 반환합니다. 이것은 항상 현재 모듈의 사전입니다(함수나 메소드 내에서 호출된 모듈이 아니라 정의된 모듈입니다)

10.round() 인수를 반올림합니다.

11.sorted () 원본 목록을 변경하지 않고 정렬

l=[1,2,4,9,-1]print(sorted(l)) #从小到大print(sorted(l,reverse=True)) #从大到小

12.zip() 지퍼 기능

반복자를 만들고 각 반복자의 요소를 집계합니다.

튜플의 반복자를 반환합니다. 여기서

i

번째 튜플에는 각 인수 시퀀스 또는 반복의

i

번째 요소가 포함됩니다. 가장 짧은 입력 반복 가능 항목이 소진되면 반복자가 중지됩니다. 반복 가능한 단일 인수를 사용하면 1-튜플의 반복자를 반환합니다. 인수가 없으면 빈 반복자

13.max()를 반환합니다.

반복 가능한 항목의 최대 항목 또는 두 개 이상의 인수 중 가장 큰 항목을 반환합니다.

위치 인수가 제공되면 반복 가능해야 합니다. 반복에서 가장 큰 항목을 반환합니다. 두 개 이상의 위치 인수가 제공되면 가장 큰 위치 인수가 반환됩니다.

max()는 키를 지정할 수 있습니다(즉, 비교할 부분을 지정합니다).
🎜14.map() 매핑 🎜🎜은 🎜iterable🎜의 각 항목에 🎜function🎜을 적용하여 결과를 생성하는 반복자를 반환합니다. 🎜🎜
l=[1,2,3,4]
m=map(lambda x:x**2,l)print(list(m))        ----->[1, 4, 9, 16]
🎜🎜🎜15.reduce() Merge🎜🎜🎜
from functools import reduce

res=0for i in range(100):
    res+=iprint(res)
🎜🎜16.filter() 필터 불리언 값이 True인 요소를 유지🎜🎜
names=['alex_sb','yuanhao_sb','wupeiqi_sb','egon']print(list(filter(lambda name:name.endswith('_sb'),names)))--->['alex_sb', 'yuanhao_sb', 'wupeiqi_sb']
🎜🎜내장 함수에 대한 자세한 소개는 다음을 참고하세요. : 🎜🎜2. 익명 함수(람다 표현식)🎜🎜
def func(x):return x**2print(func(2))lambda x:x**2        #上边的函数就可以直接写成这种形式
🎜🎜람다 함수에는 자체 반환 값이 있습니다🎜🎜익명 함수는 아주 간단한 일부 함수만 대체할 수 있으며 주로 다른 함수와 함께 사용되는 경우도 있습니다🎜🎜상황도 있습니다 일부 함수는 정의된 후 한 번만 사용됩니다. 삭제하지 않으면 메모리 공간을 차지하며 삭제가 매우 번거롭습니다. 이때 익명 함수를 사용할 수 있습니다🎜🎜3. 🎜🎜함수를 호출하는 과정에서 함수 자체가 직간접적으로 사용됩니다🎜🎜 재귀의 효율성이 매우 낮고, 다음 재귀에 들어갈 때 현재 상태를 유지해야 하는 것이 다른 언어와 달리 Python에는 없습니다. 꼬리 재귀이지만 Python에는 제한이 있으며 사용자가 무한 반복을 허용하지 않습니다🎜🎜재귀의 특징:🎜🎜1. 명확한 종료 조건이 있어야 합니다🎜🎜2. 더 깊은 수준의 재귀에 들어갈 때마다 문제의 크기는 다음과 같아야 합니다. 마지막 재귀에 비해 감소했습니다🎜🎜3. 재귀 효율성이 높지 않으며 재귀 수준이 너무 높으면 스택 오버플로가 발생합니다🎜🎜 예: 🎜🎜
# 1 文件内容如下,标题为:姓名,性别,年纪,薪资#
# egon male 18 3000# alex male 38 30000# wupeiqi female 28 20000# yuanhao female 28 10000#
# 要求:# 从文件中取出每一条记录放入列表中,# 列表的每个元素都是{'name':'egon','sex':'male','age':18,'salary':3000}的形式#
# 2 根据1得到的列表,取出薪资最高的人的信息# 3 根据1到的列表,取出最年轻的人的信息# 4 根据1得到的列表,将每个人的信息中的名字映射成首字母大写的形式# 5 根据1得到的列表,过滤掉名字以a开头的人的信息# 6 使用递归打印斐波那契数列(前两个数的和得到第三个数)#     0 1 1 2 3 4 7...with open('b.txt',encoding='utf-8')as f:

l=[{'name': line.split()[0], 'sex': line.split()[1], 'age': line.split()[2], 'salary': line.split()[3]} \for line in f]#2.print(max(l,key=lambda i:i['salary']))#3.print(min(l,key=lambda i:i['age']))#4.m=map(lambda x:x['name'].capitalize(),l)print(list(m))#5.print(list(filter(lambda x:not(x['name'].startswith('a')),l)))#6.def f(n):if n==0:return 0elif n==1:return 1else:if n==1000:return f(1000)else:return f(n-2)+f(n-1)for i in range(150):print(f(i))
🎜

위 내용은 Python 기본 내장 함수 및 재귀에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.