파이썬은 매우 강력한 인기있는 스크립트 언어이지만, 각종 파충류의 측면, 네트워크 도구, 과학 컴퓨팅, 라즈베리 파이, 웹 개발자 등 거의 모든 것을, 할 수있다, 게임을 편리하게 할 수 있습니다. 에 관계없이 플랫폼의 동시에, 시스템은 파이썬으로 프로그래밍 할 수 있습니다.
기계 학습은 일반적으로 TensorFlow 사용되는 인공 지능으로 구현하는 몇 가지 파이썬 라이브러리를 사용할 수 있습니다. NLTK 또한 자연 언어 처리 (NLP)이 파이썬 라이브러리처럼 될 수 있습니다.
이 문서에서는 기본 파이썬 프로그래밍, 후속 실제 사례의 일부 파이썬 프로그램을 작성합니다 설명합니다.
파이썬을 배울 때 우리는 분명 새로운 기술의 추구뿐만 아니라, 많은 문제가 발생할 것입니다, 우리가 파이썬 버클 쿤을 학습하는 것이 좋습니다 무엇 : 784758214, 여기에 파이썬 학습자 모임 장소입니다! ! 동시에 그는 제로 데이터가 마무리된다 대처하기 위해 웹 개발, 파충류, 장고, 데이터 마이닝 및 기타 프로젝트에 기본에서 수석 개발 엔지니어 파이썬, 파이썬 스크립트이었다. 모든 작은 파이썬 파트너에게 주어! 매일 주 학습의 몇 가지 방법 작은 세부 사항에주의를 지불 할 필요
문자열 작업
파이썬 문자열은 불변 직접 수정할 수 없습니다. 문자열의 내용에 대한 모든 변경 사항은 새 복사본을 생성해야합니다.
파이썬 과정에서 문자열은 매우 간단합니다.
문자열 연결
str = "welcome " + "to Python"
print (str)
이 연결 문자열, 당신은 문자열에 곱셈을 할 수 있습니다 :
반복 문자열
str = "Python" * 2
print (str)
그리고 비 문자열 연결
당신은 할 수 있습니다 str()
다음과 같이 연결 한 후 문자열로 문자열이 아닌 값으로 기능과 :
str = "This is test number " + str(15)
print (str)
하위 문자열 검색
당신은 사용할 수 있습니다 find()
다음과 같은 방법 하위 문자열 검색 :
str = "welcome to Python"
print(str.find("Python"))
당신이 문자열 "파이썬"를 찾을 경우, find
메소드는 문자열이 처음 나타나는 위치를 반환합니다.
아무것도 발견되지 않으면 -1이 반환됩니다.
find
다음과 같은 기본 기능은, n 번째 문자에서 시작 수, 첫 번째 문자에서 검색을 시작합니다 :
str = "welcome to Python"
print(str.find("Python",12))
우리가 처음 12 개 문자에서 시작하기 때문에 파이썬은 단어를 찾을 수 있습니다, 그것은 -1을 돌려줍니다.
문자열을 가져옵니다
그래서 우리는 검색 할 색인 문자열을 가지고, 이제 우리는 일치하는 문자열을 인쇄 할.
다음과 같이, 인쇄 출력 케이블 문자열을 누를 수 있습니다 :
str = "first second third"
print(str[:2])
print(str[2:])
print(str[3:5])
print(str[-1])
코드의 두번째 라인에서 제 1 및 제 2 문자 및 세 번째 줄 끝에 번째 문자에서 시작한다 인쇄를 인쇄한다. 결장 접합부에서의 위치 코드를 주목한다. 계산에서 0 문자열입니다.
음수를 사용하는 경우, 그것은 마지막 카운트에서 시작됩니다. 코드의 5 라인의 마지막 문자를 인쇄 할 수 있습니다.
교체 문자열
다음과 같은 방법으로 문자열을 대체 할 수있다 :
str = "This website is about programming"
str2 = str.replace("This", "That")
print(str2)
당신이 문자열이 두 번 이상 나타납니다 대체하지만, 첫 번째 발생을 대체 할하려는 경우, 당신은 위치를 지정할 수 있습니다 :
str = "This website is about programming I like this website"
str2 = str.replace("website", "page",1)
print(str2)
첫 번째 단어 만 교체 할 수 있습니다.
공백의 문자열의 끝이 삭제
이있을 수 strip
는 다음과 같이, 문자열의 양단에 공백을 제거하는 방법 :
str = " This website is about programming "
print(str.strip())
당신은 할 수 있습니다 rstrip
만 지금까지 상자의 오른쪽 또는으로 제거 lstrip
가장 왼쪽에있는 상자의 제거를.
대소 문자 변경
어떤 경우에는 대문자와 소문자를 변경해야 할 수도 있습니다.
str="Welcome to likegeeks"
print(str.upper())
print(str.lower())
디지털에 문자열 변환
앞서 우리가 배운 str()
문자열로 기능 번호,하지만이 외에도, 유일한 파이썬 변환 기능이없는 int()
, float()
, long()
및 기타 캐스트 기능.
int()
입력 문자열을 정수로 변환 될 수있는 float()
부유 함수 문자열.
str="10"
str2="20"
print(str+str2)
print(int(str)+int(str2))
라인 3은 두 문자열 두 값 중 처음 네 개의 행을 연결하고 그 결과를 출력한다.
문자열 수
수 min()
ASCII 값의 작은 문자열에서 발견 max()
으로, 최대 문자를 찾을 len()
문자의 총 길이를 얻기 위해 기능.
str="welcome to Python"
print(min(str))
print(max(str))
print(len(str))
문자열 반복
이있을 수 for
는 다음과 같이 각각의 문자열의 반복적 인 분리 조작 :
str="welcome to likegeeks website"
for i in range(len(str)):
print(str[i])
상기 len()
문자열의 길이를 얻기 위해 사용되는 기능.
문자열 인코딩
당신은 파이썬 3를 사용하는 경우, 모든 문자는 유니 코드를 기본 문자 세트 인코딩의 경우,하지만 파이썬이 경우 다음과 같이 문자열 인코딩해야 할 수도 있습니다 :
str="welcome to Python"
str.encode('utf-8')
운영 디지털
다음 파이썬에 정의 된 숫자 변수 :
a=15
당신은 부동 소수점 숫자도 정의 할 수 있습니다, 정수를 정의 할 수 있습니다.
부동 소수점 수는 있습니다 int()
다음과 같은 기능을 반올림 수 :
a=15.5
print(int(a))
숫자를 반올림
그것은 사용할 수있는 round()
디지털 반올림 기능을 위해 :
a=15.5652645
print(round(a,2))
단순히 여러 소수 자릿수로 반올림 필수 지정합니다.
정밀 사용자 정의 번호
많은 경우에 사용자 정의 정밀도 부동 소수점 숫자를 사용합니다.
그것은, 소수의 사용자 정의 모듈 수를 처리 할 수 있습니다.
이러한 수입 모듈 사용 :
from decimal import *
a=Decimal(5.5)
난수를 생성
파이썬 모듈은 난수를 생성하는 임의의 기능을 제공한다.
import random
print(random.random())
0.0과 1.0 사이의 난수를 발생시킨다.
다음과 같이 자신의 정의의 범위에서 임의의 숫자를 생성 할 수 있습니다입니다 :
import random
numbers=[1,2,3,4,5,6,7]
print(random.choices(numbers))
운영 날짜와 시간
당신은 아래의 날짜에서 원하는 값을 추출 할 수 있습니다.
import datetime
cur_date = datetime.datetime.now()
print(cur_date)
print(cur_date.year)
print(cur_date.day)
print(cur_date.weekday())
print(cur_date.month)
print(cur_date.time())
다음과 같이 두 번이나 날짜 사이의 차이를 얻을 수 있습니다 :
import datetime
time1 = datetime.datetime.now()
time2 = datetime.datetime.now()
timediff = time2 - time1
print(timediff.microseconds())
위의 예에서 timediff
변수가있다 timedelta
오브젝트 유형, 당신은 또한이 객체 자체를 만들 수 있습니다 :
time1 = datetime.datetime.now()
time2 = datetime.timedelta(days=3)
time3=time1+time2
print(time3.date())
형식 날짜와 시간
당신은 사용할 수 strftime()
날짜 또는 시간을 포맷 할 수 있습니다.
다음 표는 몇 가지 일반적인 서식 옵션을 지정합니다 :
- % Y 두 자리 연도 (00-99)을 나타낸다
- % Y는 4 자리 연도 (000-9999)를 나타낸다
- %의 M (01-12)
- 달의 % d 개 일 이내 (0-31)
- H에서 제조 %의 H 24시간 (0-23)
- % I 12시간 시간 (01-12)
- 시간 (분) %의 M 번호 (59 = 00)
- S %의 초 (00-59)
- % 일주일 로컬 이름을 단순화
- % 전체 요일 이름 지역
- %의 B 지역 단순화 월 이름
- 지역의 %의 B 전체 월 이름
- %의 C는 해당 날짜를 나타내는 시간은 로컬 나타낸다
- 어느 날 (001-336) %의 J 년
- % P 지역 AM 또는 PM 해당하는 문자
- 일요일 주 시작의 년 (00-53)의 % U의 주 번호
- %의 W 주 (0-6), 일요일 주 시작입니다
- 월요일 주 시작의 년 (00-53)의 %의 W의 주 번호
- X %에 해당 날짜를 나타내는 로컬
- %의 X는 대응하는 로컬 시간을 나타낸다
- 이름 %의 Z 현재 시간대
- %%% 번호 자체
import datetime
date1 = datetime.datetime.now()
print(date1.strftime('%d. %B %Y %I:%M%p'))
문자열에서 작성 날짜
당신은 할 수 있습니다 strptime()
다음과 같이 날짜 문자열 함수에서 만든 :
date1=datetime.datetime.strptime(“2015-11-21”, “%Y-%m-%d”)
또한 이런 식으로 뭔가를 만들 수 있습니다 :
date1= datetime.datetime(year=2015, month=11, day=21)
프로세스 파일 시스템
파이썬에서 파일은 믿거 나 말거나 여부가 원하는 언어가 간단이며, 처리하기가 매우 쉽습니다. 물론, 당신은 또한 파이썬이 모든 것을 간단한 언어를 수행의 일종이라고 말할 수 있습니다.
파일 복사
shutil
모듈 파일을 복사하는 기능이 포함되어 있습니다.
import shutil
copied_path = shutil.copy('my_file.txt', 'copied_file.txt')
my_file.txt는 소프트 링크 인 경우, 위의 코드는 별도의 파일로 copied_file.txt 만들어 넣어 것입니다.
또한 소프트 링크 복사는 다음 만들 수 있습니다 :
copied_path = shutil.copy('my_file.txt', 'copied_file.txt',follow_symlinks=False)
이동 파일
이 같은 파일을 이동할 수 있습니다 :
import shutil
shutil.move('file1.txt', 'file3.txt')
또한 사용될 수있는 os
모듈에 rename
다음과 같이 파일 이름을 변경 기능 :
import os
os.rename('file1.txt', 'file3.txt')
읽기 및 텍스트 파일을 작성
사용할 수있는 open
파일 기능을 열려면, 다음 read
, 또는 write
방법을 읽기 및 쓰기.
fd = open('file1.txt')
content = fd.read()
print(content)
첫째, 사용하는 open
파일을 열고 읽기 기능을하고 내가 사용하는 read
파일 내용을 읽을 수있는 기능을, 그리고 마지막으로, 변수로, 결과의 컨텐츠 content
입니다.
할당 할 수있는 read()
바이트의 수의 () 함수를 읽기 :
fd.read(20)
파일이 너무 크지 않으면, 당신은 목록의 전체 내용을 읽은 다음 목록 출력을 통해 할 수 있습니다.
content = fd.readlines()
print(content[0])
오픈 모드를 지정하여 파일에 기록 할 수 있습니다. 쓰기 모드, 쓰기 모드와 추가 모드의 두 가지 종류가 있습니다.
여기에 쓰기 모드는 파일이 이전 내용을 덮어 쓰게됩니다.
fd = open('file1.txt','w')
content = fd.write('YOUR CONTENT GOES HERE')
다음은 추가 모드입니다 :
fd = open('file1.txt','a')
content = fd.write('YOUR CONTENT GOES HERE')
디렉토리를 작성
수 os
모듈은 mkdir
다음과 같이 새로운 디렉토리 함수를 만듭니다 :
import os
os.mkdir('./NewFolder)
디렉토리가 이미 오류가 발생합니다 존재하는 경우. 하지만 걱정하지 마세요, 예외 처리를 논의 할 것이다 미래의 기사에서, 당신이 이러한 오류를 방지 할 수 있습니다.
및 수정 및 생성 시간에 액세스
또한 사용될 수있는 getmtime()
, getatime()
그리고 getctime()
수정 시간, 액세스 시간 및 생성 시간을 획득한다.
다음과 같이 반환 된 타임 스탬프 유닉스 시간 형식, 우리는 사람이 읽을 수있는 형식으로 변환 할 수 있습니다 :
import os
import datetime
tim=os.path.getctime('./file1.txt')
print(datetime.datetime.fromtimestamp(tim))
반복 처리 파일
당신은 사용할 수있는 os
모듈 listdir()
파일을 얻을 기능 :
import os
files = os.listdir('.')
print(files)
또한, 당신은 할 수 glob
동일한 작업 모듈을 수행 :
import glob
files = glob.glob('*')
print(files)
당신은 할 수 있습니다 glob()
예를 들어, 설정되어, 모든 확장을 설정 * .doc
모든 워드 문서를 취득.
파이썬 객체 직렬화
이 과정은 이후의 재사용을위한 객체 파이썬 바이트 스트림을 직렬화하기 위해 사용된다.
당신은 사용할 수 있습니다 pickle
그것을 할 모듈 :
import pickle
fd = open('myfile.pk ', 'wb')
pickle.dump(mydata,fd)
수 load()
다음과 같은 기능은 데이터를 역 직렬화 :
import pickle
fd = open('myfile.pk ', 'rb')
mydata = pickle.load(fd)
압축 파일
파이썬 표준 라이브러리는 타르, 우편, gzip을, 레스 햇의 bzip2로 압축 된 파일의 다른 형식을 처리 할 수 있도록.
처리하기 위해 zip
파일, 당신은 사용할 수있는 zipfile
모듈을 :
import zipfile
my_zip = zipfile.ZipFile('zipped_file.zip', mode='r')
print(file.namelist())
다음과 같이, 우편 형식으로 파일을 압축 할 수 있습니다 :
import zipfile
file=zipfile.ZipFile('files.zip','w')
file.write('file1.txt')
file.close()
사용할 수있는 extractall()
압축 된 zip 파일 패키지 방법을 추출 :
import zipfile
file=zipfile.ZipFile('files.zip','r')
file.extractall()
file.close()
다음과 같이 또한 추가 모드는 기존의 zip 파일에 파일을 첨부하는 데 사용될 수있다 :
import zipfile
file=zipfile.ZipFile('files.zip','a')
file.write('file2.txt')
file.close()
GZ 또는 BZ 파일을 처리 할 때, 그것은 상기 루틴과 동일 할 수있다. 그러나, 가져 gzip
모듈 또는 bz2
모듈.
import gzip
import bz2
gz_file=gzip.GzipFile('files.gz','r')
bz_file=bz2.BZ2File('fiels.bz2','r')
그런 다음 같은 방법을 참조하십시오.
당신이 사용할 수있는 수 UnRAR RAR 파일을 패키지 거래를. 첫째, 패키지를 설치 :
pip install unrar
그런 다음 같은 방법을 사용합니다.
import unrar.rarfile
m=unrar.rarfile.RarFile('file.rar')
m.namelist()
m.extractall()
CSV 파일을 구문 분석
매우 유용한 패키지는 팬더를했다. 그것은 CSV 및 Excel 파일을 구문 분석, 쉽게 데이터를 추출 할 수 있습니다.
첫째, 설치 패키지
pip install pandas
그런 다음 다음과 같이 당신은, 자신의 코드에서 사용할 수 있습니다 :
import pandas
data=pandas.read_csv('file.csv)
기본적으로 판다는 각 행의 첫 번째 열에 대한 레이블 간주됩니다. 열 인덱스는 첫 번째 열 수없는 경우에 전달하여 index_col
파라미터 열 인덱스를 지정한다.
문서가 레이블을 일치하지 않는 경우, 매개 변수를 사용해야합니다 index_col = False
.
CSV 파일을 작성하려면 사용할 수있는 to_csv()
방법을.
data.to_csv('file.csv)
구문 분석 엑셀 파일
팬더 모듈이있을 수 있습니다 read_excel()
엑셀 문서를 해결하는 방법.
data = pd.read_excel('file.xls', sheetname='Sheet1')
여러 워크 시트가있는 경우, 그것은로드 할 수 있습니다 :
ta = pd.ExcelFile('file.xls')
이러한 쓰기는 파일을 엑셀 :
ta.to_excel('file.xls', sheet='Sheet1')
네트워킹 및 연결
파이썬은이 socket
많은 네트워크 프로토콜을 지원하는 낮은 수준의 API를 통해 네트워크에 액세스 할 수있는 방법을 제공합니다 클래스를.
import socket
host = '192.168.1.5'
port = 5050
m_sock = socket.create_connection ((host, port))
이 코드 및 192.168.1.5 호스트의 IP 주소가 포트 5050을 통해 연결합니다.
열기 소켓, 데이터를 송수신 할 수있다.
m_sock.sendall(b'Hello World')
데이터를 바이트 문자열이 될 필요가 있기 때문에 내가 전에 문자 나 문자열을 사용합니다.
데이터 전송이 너무 크면 다음과 같이 분할 루프를 통해 전송되어야한다 :
msg = b'Longer Message Goes Here'
mesglen = len(msg)
total = 0
while total < msglen:
sent = m_sock.send(msg[total:])
total = total + sent
데이터를 수신하려면, 당신은 말할 필요가 recv()
바이트 수로 읽어 일단 방법을.
data_in = m_sock.recv(2000)
당신이 보낸 메시지의 길이가 2000 바이트보다 작 결정할 수 있기 때문에 효과적입니다.
메시지가 큰 경우,주기는 수신 된 모든 데이터 블록까지 반복해야합니다.
buffer = bytearray(b' ' * 2000)
m_sock.recv_into(buffer)
그것은 빈 버퍼로서 정의하고 상기 메시지 버퍼에 기록된다.
POP 메일 서버에서 메일을 수신
poplib
모듈은 POP 서버와 통신 할 수 있습니다.
import getpass,poplib
pop_serv = poplib.POP3('192.168.1.5')
pop_serv.user("myuser")
pop_serv.pass_(getpass.getpass())
getpass
암호화 모듈을 안전하게 처리 할 수 있습니다.
보안 연결을해야하는 경우 POP3_SSL 클래스를 사용할 수 있습니다.
메일 링리스트 및 메시지 수를 들어, 당신은이 작업을 수행 할 수 있습니다 :
msg_list = pop_serv.list() # to list the messages
msg_count = pop_serv.msg_count() # to get message count
처리가 완료되면, 당신은 열려있는 모든 연결을 닫습니다 기억해야합니다.
pop_serv.quit()
는 IMAP 메일 서버에서 전자 메일을 수신
그것은있을 수 있습니다 imaplib
통신 모듈 IMAP 메일 서버.
import imaplib, getpass
my_imap = imaplib.IMAP4('imap.server.com')
my_imap.login("myuser", getpass.getpass())
당신은 당신의 IMAP 서버, 응용 프로그램 IMAP4_SSL 클래스에 SSL을 사용하는 경우.
전자 메일 목록을 얻으려면, 당신은 쿼리 작업을 수행해야합니다 :
data = my_imap.search(None, 'ALL')
그 후, 반복을 통해 data
인덱스를 구하는 메시지 내용 변수 메시지
msg = my_imap.fetch(email_id, '(RFC822)')
마지막으로, 연결을 종료하는 것을 잊지 마세요 :
my_imap.close()
my_imap.logout()
전자 메일 보내기
당신은 SMTP 프로토콜을 통해 전자 메일을 보내려고합니다. 그것은 사용할 수 있습니다 smtplib
.
import smtplib, getpass
my_smtp = smtplib.SMTP(smtp.server.com')
my_smtp.login("myuser", getpass.getpass())
SMTP 서버, 응용 프로그램 SMTP_SSL 클래스에 SSL합니다.
연결을 연 후, 그래서 당신은 전자 메일을 보낼 수 있습니다 :
from_addr = '[email protected]'
to_addr = '[email protected]'
msg = 'From: [email protected]\r\nTo: [email protected]\r\n\r\nHello, this is a test message'
my_smtp.sendmail(from_addr, to_addr, msg)
웹 크롤링
웹 서버와 통신하려면, 당신은 사용할 필요가 urllib.request
하위 모듈을.
import urllib.request
my_web = urllib.request.urlopen('https://www.google.com')
print(my_web.read())
웹 양식 제출
당신은 웹 양식을 제출하려면 웹 페이지에 POST 요청을 보내야합니다.
import urllib.request
my_data = b'Your Data Goes Here'
my_req = urllib.request.Request('http://localhost', data=my_data,method='POST')
my_frm = urllib.request.urlopen(my_req)
print(my_frm.status)
또한이 기능을 구현하는 방법에는 여러 가지가있다, 또는 urllib2가 모듈을 기계화 할 수 있습니다.
미니 서버 만들기
socket
클래스는 연결 요청을 수신 지원합니다.
import socket
host = ''
port = 3535
my_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
my_server.bind((host, port))
my_server.listen(1)
이제 연결 요청을 받아 들일 수 있습니다 :
addr = my_server.accept()
print('Connected ... ', addr)
data = conn.recv(1024)
작업이 완료된 후 연결을 종료하는 것을 잊지 마세요
conn.close()
파이썬 스레드
동시에 실행 작업은, 파이썬은 매우 유용 임명했다있다 threading
포함 모듈, Thread
클래스를.
import threading
def print_message():
print('The message got printed from a different thread')
my_thread = threading.Thread(target=print_message)
my_thread.start()
이 함수를 완료하는 데 시간이 오래 걸리는 경우 사용할 수 있습니다 is_alive()
여전히 실행되고 있는지 여부를 확인하는 방법을.
때때로 당신은 글로벌 자원 스레드 안전한 액세스해야합니다. 이 시간 우리는 잠금을 사용합니다.
import threading
num = 1
my_lock = threading.Lock()
def my_func():
global num, my_lock
my_lock.acquire()
sum = num + 1
print(sum)
my_lock.release()
my_thread = threading.Thread(target=my_func)
my_thread.start()
라즈베리 파이를 사용하여
사용 라즈베리 파이는 가격이 싼 싱글 보드 컴퓨터, 당신은 흥미로운 다양한 응용 프로그램을 개발할 수 있습니다.
파이썬 수 RPi.GPIO 외부 센서 모듈 너무 라즈베리 파이 통신.
다음과 같이 첫째, 당신의 라즈베리 파이에 패키지를 설치 :
$ sudo apt-get install python-dev python-rpi.gpio
그럼 당신은 파이썬 스크립트에서 사용할 수 있습니다. 출력은 라즈베리 파이 GPIO 버스에 쓸 수 있습니다 :
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BOARD)
GPIO.setup(1, GPIO.OUT, initial=GPIO.LOW)
GPIO.output(1, GPIO.HIGH)
라즈베리 파이 GPIO는 데이터를 읽고
당신은 사용할 수 있습니다 RPi.GPIO
다음과 같이 GPIO에서 데이터를 읽을 수있는 인터페이스 모듈 :
import RPi.GPIO
RPi.GPIO.setup(1, GPIO.IN)
if RPi.GPIO.input(1):
print('Input was HIGH')
else:
print('Input was LOW')
이 단지 기본의 몇 가지, 여전히 파이썬의 요구를 갈 길이 방법이있다.
사실, 우리는 파이썬의 작은 부분을 도입 한 많은 것들을 소개 할 필요가있다. 이 매혹적인 언어 파이썬은 나에게주의하십시오 배울 수 있도록 더 많은 기사가있을 것입니다.