이 기사에서는 python에 대한 관련 지식을 제공합니다. 객체 확인, 여러 줄 문자열 사용, 함수에서 여러 값 반환 등을 포함하여 프로그래밍 프로세스의 몇 가지 일반적인 사용 기술을 주로 요약합니다. , 모든 사람에게 도움이 되기를 바랍니다.
추천 학습: python 튜토리얼
팁 1 두 숫자를 제자리에서 바꾸기
Python은 한 줄에서 할당하고 바꾸는 직관적인 방법을 제공합니다. 아래 예를 참조하세요.
x, y = 10, 20print(x, y) x, y = y, xprint(x, y) #1 (10, 20)#2 (20, 10)
올바른 할당은 새로운 튜플을 생성합니다. 그리고 왼쪽에 있는 것은 즉시 (인용되지 않은) 튜플을 이름 <a></a>
和 <b></b>
으로 압축 해제합니다.
할당이 완료된 후 새 튜플은 역참조되고 가비지 수집용으로 표시됩니다. 변수의 교환도 마지막에 발생합니다.
팁 2 비교 연산자 연결.
비교 연산자 집합은 때때로 유용할 수 있는 또 다른 트릭입니다.
n = 10 result = 1 n <hr><h2 id="팁-조건부-할당에는-삼항-연산자를-사용하세요">팁 3 조건부 할당에는 삼항 연산자를 사용하세요. </h2><p>삼항 연산자는 조건 연산자라고도 알려진 if-else 문의 단축형입니다. </p><pre class="brush:php;toolbar:false">[on_true] if [expression] else [on_false]
다음은 코드를 간결하고 간결하게 만드는 데 사용할 수 있는 몇 가지 예입니다.
다음 명령문은 "y가 9이면 x에 10을 할당하고, 그렇지 않으면 x에 20을 할당합니다"와 같은 의미를 갖습니다. 필요한 경우 연산자 연결을 확장할 수 있습니다.
x = 10 if (y == 9) else 20
마찬가지로 클래스 객체에도 동일한 작업을 수행할 수 있습니다.
x = (classA if y == 1 else classB)(param1, param2)
위의 예에서 classA와 classB는 두 개의 클래스이며, 그 중 하나가 클래스 생성자가 호출됩니다.
다음은 No.의 예시입니다. 가장 작은 숫자를 평가하는 조건을 추가합니다.
def small(a, b, c): return a if a <p>리스트 컴프리헨션에서는 삼항 연산자를 사용할 수도 있습니다. </p><pre class="brush:php;toolbar:false">[m**2 if m > 10 else m**4 for m in range(50)]#=> [0, 1, 16, 81, 256, 625, 1296, 2401, 4096, 6561, 10000, 121, 144, 169, 196, 225, 256, 289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156, 1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401]
Tip 4 여러 줄 문자열 사용하기
기본 방법은 C 언어에서 파생된 백슬래시를 사용하는 것입니다.
multiStr = "select * from multi_row \ where row_id <p>또 다른 비결은 삼중 따옴표를 사용하는 것입니다. </p><pre class="brush:php;toolbar:false">multiStr = """select * from multi_row where row_id <p>위 방법의 일반적인 문제는 적절한 들여쓰기가 부족하다는 것입니다. 들여쓰기를 시도하면 문자열에 공백이 삽입됩니다. </p><p>그래서 최종 해결책은 문자열을 여러 줄로 나누고 전체 문자열을 괄호로 묶는 것입니다. </p><pre class="brush:php;toolbar:false">multiStr= ("select * from multi_row ""where row_id <hr><h2 id="팁-목록-요소를-새-변수에-저장하기"> 팁 5 목록 요소를 새 변수에 저장하기 </h2><p> 목록을 사용하여 no를 초기화할 수 있습니다. 변하기 쉬운. 리스트를 언패킹할 때 변수 개수는 그 개수를 초과해서는 안 됩니다. 목록의 요소. </p><pre class="brush:php;toolbar:false">testList = [1,2,3]x, y, z = testListprint(x, y, z)#-> 1 2 3
팁 6 가져온 모듈의 파일 경로를 인쇄하세요
코드에서 가져온 모듈의 절대 위치를 알고 싶다면 다음 트릭을 사용하세요.
import threading import socketprint(threading)print(socket)#1- <module>#2- <module></module></module>
팁 7 대화형 "_" 연산자를 사용하세요
이것은 우리 중 많은 사람들이 모르는 유용한 기능입니다.
Python 콘솔에서는 표현식을 테스트하거나 함수를 호출할 때마다 결과가 임시 이름 _(밑줄)로 전송됩니다.
>>> 2 + 13>>> _3>>> print _3
"_"는 마지막으로 실행된 표현식의 출력을 나타냅니다.
Tip 8 Dictionary/Set Comprehension
List Comprehension을 사용하는 것처럼 Dictionary/Set Comprehension도 사용할 수 있습니다. 사용하기 쉽고 효과적입니다. 여기에 예가 있습니다.
testDict = {i: i * i for i in xrange(10)} testSet = {i * 2 for i in xrange(10)}print(testSet)print(testDict) #set([0, 2, 4, 6, 8, 10, 12, 14, 16, 18]) #{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81}
참고 - 두 문장의 유일한 차이점은 <:>입니다. 또한 위 코드를 Python3에서 실행하려면 .
팁 9 스크립트 디버깅
모듈의 도움으로 Python 스크립트에 중단점을 설정할 수 있습니다. 아래 예를 따르십시오.
import pdb pdb.set_trace()
스크립트의 어느 곳에나
팁 10 파일 공유 설정
Python을 사용하면 서버 루트에서 파일을 공유하는 데 사용할 수 있는 HTTP 서버를 실행할 수 있습니다. 다음은 서버를 시작하는 명령입니다.
Python 2
python -m SimpleHTTPServer
Python 3
python3 -m http.server
위 명령은 기본 포트 8000에서 서버를 시작합니다. 위 명령의 마지막 매개변수로 사용자 지정 포트를 전달하여 사용할 수도 있습니다.
Tip 11 Python에서 개체 검사
dir() 메서드를 호출하여 Python에서 개체를 검사할 수 있습니다. 이것은 간단한 예입니다.
test = [1, 3, 5, 7]print( dir(test) )
['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']
Tip 12 if 문을 단순화하세요
여러 값의 유효성을 검사하려면 다음과 같은 방법으로 수행할 수 있습니다.
if m in [1,3,5,7]:
대신:
if m==1 or m==3 or m==5 or m==7:
또는 '[1,3,5,7]' 대신 '{1,3,5,7}'을 'in' 연산자로 사용할 수 있습니다. 각 요소에 액세스하기 위해 O(1)을 전달했습니다.
Tip 13 런타임 시 Python 버전 감지
때때로 현재 실행 중인 Python 엔진이 지원되는 버전보다 낮은 경우 프로그램을 실행하고 싶지 않을 수도 있습니다. 이렇게 하려면 다음 코드 조각을 사용할 수 있습니다. 또한 현재 사용되는 Python 버전을 사람이 읽을 수 있는 형식으로 인쇄합니다.
import sys#Detect the Python version currently in use.if not hasattr(sys, "hexversion") or sys.hexversion != 50660080: print("Sorry, you aren't running on Python 3.5\n") print("Please upgrade to 3.5.\n") sys.exit(1) #Print Python version in a readable format.print("Current Python version: ", sys.version)
또는 위 코드에서 sys.hexversion!= 50660080을 sys.version_info >= (3, 5)로 바꿀 수 있습니다. 이것은 지식이 풍부한 독자의 조언입니다.
Python 2.7에서 실행 시 출력됩니다.
Python 2.7.10 (default, Jul 14 2015, 19:46:27)[GCC 4.8.2] on linux Sorry, you aren't running on Python 3.5Please upgrade to 3.5.
在 Python 3.5 上运行时的输出。
Python 3.5.1 (default, Dec 2015, 13:05:11)[GCC 4.8.2] on linux Current Python version: 3.5.2 (default, Aug 22 2016, 21:11:05) [GCC 5.3.0]
技巧14 组合多个字符串
如果您想连接列表中所有可用的标记,请参见以下示例。
>>> test = ['I', 'Like', 'Python', 'automation']
现在,让我们从上面给出的列表中的元素创建一个字符串。
>>> print ''.join(test)
技巧15 反转 string/list 的四种方法
反转列表本身
testList = [1, 3, 5]testList.reverse()print(testList)#-> [5, 3, 1]
在循环中迭代时反转
for element in reversed([1,3,5]): print(element)#1-> 5#2-> 3#3-> 1
反转一个字符串
"Test Python"[::-1]
这使输出为“nohtyP tseT”
使用切片反转列表
[1, 3, 5][::-1]
上面的命令将输出 [5, 3, 1]。
技巧16 玩枚举
使用枚举器,在循环中很容易找到索引。
testlist = [10, 20, 30]for i, value in enumerate(testlist): print(i, ': ', value)#1-> 0 : 10#2-> 1 : 20#3-> 2 : 30
技巧17 在 Python 中使用枚举。
我们可以使用以下方法来创建枚举定义。
class Shapes: Circle, Square, Triangle, Quadrangle = range(4)print(Shapes.Circle)print(Shapes.Square)print(Shapes.Triangle)print(Shapes.Quadrangle)#1-> 0#2-> 1#3-> 2#4-> 3
技巧18 从函数返回多个值。
支持此功能的编程语言并不多。但是,Python 中的函数确实会返回多个值。
请参考以下示例以查看它的工作情况。
# function returning multiple values.def x(): return 1, 2, 3, 4# Calling the above function.a, b, c, d = x()print(a, b, c, d)
#-> 1 2 3 4
技巧19 使用 splat 运算符解包函数参数。
splat 运算符提供了一种解压参数列表的艺术方式。为清楚起见,请参阅以下示例。
def test(x, y, z): print(x, y, z)testDict = {'x': 1, 'y': 2, 'z': 3} testList = [10, 20, 30]test(*testDict)test(**testDict)test(*testList)#1-> x y z#2-> 1 2 3#3-> 10 20 30
技巧20 使用字典来存储 switch。
我们可以制作一个字典存储表达式。
stdcalc = { 'sum': lambda x, y: x + y, 'subtract': lambda x, y: x - y}print(stdcalc['sum'](9,3))print(stdcalc['subtract'](9,3))#1-> 12#2-> 6
技巧21 计算一行中任意数字的阶乘。
Python 2.x.
result = (lambda k: reduce(int.__mul__, range(1,k+1),1))(3)print(result)#-> 6
Python 3.x.
import functools result = (lambda k: functools.reduce(int.__mul__, range(1,k+1),1))(3)print(result)
#-> 6
技巧22 查找列表中出现频率最高的值。
test = [1,2,3,4,2,2,3,1,4,4,4]print(max(set(test), key=test.count))#-> 4
技巧23 重置递归限制。
Python 将递归限制限制为 1000。我们可以重置它的值。
import sys x=1001print(sys.getrecursionlimit())sys.setrecursionlimit(x)print(sys.getrecursionlimit())#1-> 1000#2-> 1001
请仅在需要时应用上述技巧。
技巧24 检查对象的内存使用情况。
在 Python 2.7 中,32 位整数消耗 24 字节,而在 Python 3.5 中使用 28 字节。为了验证内存使用情况,我们可以调用 方法。
Python 2.7.
import sys x=1print(sys.getsizeof(x))#-> 24
Python 3.5.
import sys x=1print(sys.getsizeof(x))#-> 28
技巧25 使用 __slots__ 减少内存开销。
你有没有观察到你的 Python 应用程序消耗了大量资源,尤其是内存?这是使用<__slots__></__slots__>
类变量在一定程度上减少内存开销的一种技巧。
import sysclass FileSystem(object): def __init__(self, files, folders, devices): self.files = files self.folders = folders self.devices = devicesprint(sys.getsizeof( FileSystem ))class FileSystem1(object): __slots__ = ['files', 'folders', 'devices'] def __init__(self, files, folders, devices): self.files = files self.folders = folders self.devices = devicesprint(sys.getsizeof( FileSystem1 ))#In Python 3.5#1-> 1016#2-> 888
显然,您可以从结果中看到内存使用量有所节省。但是当一个类的内存开销不必要地大时,你应该使用 __slots__
。仅在分析应用程序后执行此操作。否则,您将使代码难以更改并且没有真正的好处。
技巧26 Lambda 模仿打印功能。
import sys lprint=lambda *args:sys.stdout.write(" ".join(map(str,args)))lprint("python", "tips",1000,1001)#-> python tips 1000 1001
技巧27 从两个相关序列创建字典。
t1 = (1, 2, 3)t2 = (10, 20, 30)print(dict (zip(t1,t2)))#-> {1: 10, 2: 20, 3: 30}
技巧28 在线搜索字符串中的多个前缀。
print("http://www.baidu.com".startswith(("http://", "https://")))print("https://juejin.cn".endswith((".com", ".cn")))#1-> True#2-> True
技巧29 形成一个统一的列表,不使用任何循环。
import itertools test = [[-1, -2], [30, 40], [25, 35]]print(list(itertools.chain.from_iterable(test)))#-> [-1, -2, 30, 40, 25, 35]
如果您有一个包含嵌套列表或元组作为元素的输入列表,请使用以下技巧。但是,这里的限制是它使用了 for 循环。
def unifylist(l_input, l_target): for it in l_input: if isinstance(it, list): unifylist(it, l_target) elif isinstance(it, tuple): unifylist(list(it), l_target) else: l_target.append(it) return l_target test = [[-1, -2], [1,2,3, [4,(5,[6,7])]], (30, 40), [25, 35]]print(unifylist(test,[]))#Output => [-1, -2, 1, 2, 3, 4, 5, 6, 7, 30, 40, 25, 35]
统一包含列表和元组的列表的另一种更简单的方法是使用 Python 的 包。它不需要循环。只需执行 ,如果还没有的话。
import more_itertools test = [[-1, -2], [1, 2, 3, [4, (5, [6, 7])]], (30, 40), [25, 35]]print(list(more_itertools.collapse(test)))#Output=> [-1, -2, 1, 2, 3, 4, 5, 6, 7, 30, 40, 25, 35]
技巧30 在 Python 中实现真正的 switch-case 语句。
这是使用字典来模仿 switch-case 构造的代码。
def xswitch(x): return xswitch._system_dict.get(x, None) xswitch._system_dict = {'files': 10, 'folders': 5, 'devices': 2}print(xswitch('default'))print(xswitch('devices'))#1-> None#2-> 2
推荐学习:python学习教程
위 내용은 Python의 30가지 실무 기술을 요약합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

하루에 2 시간 동안 파이썬을 배우는 것으로 충분합니까? 목표와 학습 방법에 따라 다릅니다. 1) 명확한 학습 계획을 개발, 2) 적절한 학습 자원 및 방법을 선택하고 3) 실습 연습 및 검토 및 통합 연습 및 검토 및 통합,이 기간 동안 Python의 기본 지식과 고급 기능을 점차적으로 마스터 할 수 있습니다.

웹 개발에서 Python의 주요 응용 프로그램에는 Django 및 Flask 프레임 워크 사용, API 개발, 데이터 분석 및 시각화, 머신 러닝 및 AI 및 성능 최적화가 포함됩니다. 1. Django 및 Flask 프레임 워크 : Django는 복잡한 응용 분야의 빠른 개발에 적합하며 플라스크는 소형 또는 고도로 맞춤형 프로젝트에 적합합니다. 2. API 개발 : Flask 또는 DjangorestFramework를 사용하여 RESTFULAPI를 구축하십시오. 3. 데이터 분석 및 시각화 : Python을 사용하여 데이터를 처리하고 웹 인터페이스를 통해 표시합니다. 4. 머신 러닝 및 AI : 파이썬은 지능형 웹 애플리케이션을 구축하는 데 사용됩니다. 5. 성능 최적화 : 비동기 프로그래밍, 캐싱 및 코드를 통해 최적화

Python은 개발 효율에서 C보다 낫지 만 C는 실행 성능이 높습니다. 1. Python의 간결한 구문 및 풍부한 라이브러리는 개발 효율성을 향상시킵니다. 2.C의 컴파일 유형 특성 및 하드웨어 제어는 실행 성능을 향상시킵니다. 선택할 때는 프로젝트 요구에 따라 개발 속도 및 실행 효율성을 평가해야합니다.

Python의 실제 응용 프로그램에는 데이터 분석, 웹 개발, 인공 지능 및 자동화가 포함됩니다. 1) 데이터 분석에서 Python은 Pandas 및 Matplotlib를 사용하여 데이터를 처리하고 시각화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크는 웹 응용 프로그램 생성을 단순화합니다. 3) 인공 지능 분야에서 Tensorflow와 Pytorch는 모델을 구축하고 훈련시키는 데 사용됩니다. 4) 자동화 측면에서 파이썬 스크립트는 파일 복사와 같은 작업에 사용할 수 있습니다.

Python은 데이터 과학, 웹 개발 및 자동화 스크립팅 필드에 널리 사용됩니다. 1) 데이터 과학에서 Python은 Numpy 및 Pandas와 같은 라이브러리를 통해 데이터 처리 및 분석을 단순화합니다. 2) 웹 개발에서 Django 및 Flask 프레임 워크를 통해 개발자는 응용 프로그램을 신속하게 구축 할 수 있습니다. 3) 자동 스크립트에서 Python의 단순성과 표준 라이브러리가 이상적입니다.

Python의 유연성은 다중 파리가 지원 및 동적 유형 시스템에 반영되며, 사용 편의성은 간단한 구문 및 풍부한 표준 라이브러리에서 나옵니다. 유연성 : 객체 지향, 기능 및 절차 프로그래밍을 지원하며 동적 유형 시스템은 개발 효율성을 향상시킵니다. 2. 사용 편의성 : 문법은 자연 언어에 가깝고 표준 라이브러리는 광범위한 기능을 다루며 개발 프로세스를 단순화합니다.

Python은 초보자부터 고급 개발자에 이르기까지 모든 요구에 적합한 단순성과 힘에 호의적입니다. 다목적 성은 다음과 같이 반영됩니다. 1) 배우고 사용하기 쉽고 간단한 구문; 2) Numpy, Pandas 등과 같은 풍부한 라이브러리 및 프레임 워크; 3) 다양한 운영 체제에서 실행할 수있는 크로스 플랫폼 지원; 4) 작업 효율성을 향상시키기위한 스크립팅 및 자동화 작업에 적합합니다.

예, 하루에 2 시간 후에 파이썬을 배우십시오. 1. 합리적인 학습 계획 개발, 2. 올바른 학습 자원을 선택하십시오. 3. 실습을 통해 학습 된 지식을 통합하십시오. 이 단계는 짧은 시간 안에 Python을 마스터하는 데 도움이 될 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.
