배울 빠른 파이썬! 이 흰 파이썬 모양의 항목이 충분하다 어떻게 몰라!

파이썬은 매우 강력한 인기있는 스크립트 언어이지만, 각종 파충류의 측면, 네트워크 도구, 과학 컴퓨팅, 라즈베리 파이, 웹 개발자 등 거의 모든 것을, 할 수있다, 게임을 편리하게 할 수 있습니다. 에 관계없이 플랫폼의 동시에, 시스템은 파이썬으로 프로그래밍 할 수 있습니다.

기계 학습은 일반적으로 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')

이 단지 기본의 몇 가지, 여전히 파이썬의 요구를 갈 길이 방법이있다.

사실, 우리는 파이썬의 작은 부분을 도입 한 많은 것들을 소개 할 필요가있다. 이 매혹적인 언어 파이썬은 나에게주의하십시오 배울 수 있도록 더 많은 기사가있을 것입니다.

추천

출처blog.csdn.net/zhizhun88/article/details/92012195