프로그래밍 세션 따옴표 "인생은 짧고, 나는 파이썬을 배웠습니다." 파이썬의 편의에 작은 스크립트, 파이썬 보조 언어와 다른 언어의 많은 학습자를 작성합니다. 특정 언어의 지식을 가지고, 매우 빠른해야 다른 언어를 배우고 온다. 프로그래밍 개념은 언어의 다양성을보고 매우 유사하다. 자바 기반으로, 길을 칠 준비가 파이썬을 배울 수 있습니다.
기반 컴퓨팅
파이썬 환경, 실행 승리 + R을 설치 한 후, 여기 당신이 수학 연산을 수행 할 수 있습니다, 파이썬 파이썬의 대화 형 페이지에 직접 입력합니다.
>>> 2+2
4
표 1 수학 연산자, 가장 낮은 우선 순위에
| 운영자 | OS | 예 | 값 |
| : ----- : | : ---- : | : ---- : | : ---- : |
. | ** | 색인 | ** 2. 3 | 8 |
| % | 모듈 / 걸릴 나머지 | (22)는 8 % | 6 |..
| // | 나눌 수 / 지수 반올림 | 22 // 8 | 2 |.
| / | 부문 | 22 / 8 | 2.75 |.
| * | 승산 | 3.5 * | 15 |.
| - |. 감산기 | 5 - 2 | 3 |.
| + | 또한 | 2 + 2 | 4 |
제 파이썬 상기 두가지 기본로부터 알 수있는 바와 같이 정수, 부동 소수점 형. 이 두 개념은 유사한 자바입니다.
현
기초의 유형으로, 물론, 문자열, 그리고 자바 문자열로 접합 작업을 수행 할 수 있습니다. 예를 들면 :
>>> 'AAA' + 'BBB'
'AAABBB'
>>> 'CCC'+25
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate str (not "int") to str
>>> 'DEF'*3
'DEFDEFDEF'
로서, 'AAA'+ 'BBB'문자열을 직접 접합 할 수있다. 그러나 차이점은 자바입니다 파이썬이 아닌 형식 변환 힘 문자열 'CCC'+의 INT 형 (25) 오류가보고 될 때 그렇게 할 때. * 파이썬이 작업을 수행 할 문자열이 복사됩니다.
변수 이름
당신이 변수 유형을 지정해야 할 때 파이썬, 파이썬 변수 이름이 필요하지 않습니다, 여기에 자바 변수의 선언을 잠시 삽입뿐만 아니라 몇 가지 규칙이 필요합니다.
- 하나의 단어.
- 문자, 숫자 및 밑줄이 포함되어 있습니다.
- 당신은 숫자로 시작할 수 없습니다.
변환의 유형
하려면 INT 타입 5는 문자열 형식으로 변환 할 수 있습니다, 그래서 문자열 연결은, 파이썬은 몇 가지 기본 기능을 제공합니다.
내장 함수 표 2 번호 파이썬
| 함수 | 효과 | 실시 |
| ----- : | : ---- : | : ---- : |
| STR () | 변환 유형 문자열 | STR (5 ) |
| INT () | INT () 5. '| | 변환 유형은 정수입니다
| 플로트 () | 포인트 유형을 부동 변환 |'. 5 '부동 () |
| 약간 | | 인쇄 () | 인쇄 기능
(INPUT | ) | 읽는 사용자 입력 데이터 | = MyName로 입력 () |
| (렌) | 콘텐츠 길이 | 렌 (MyName로) |
제어 흐름
부울 값
이제 네 번째 데이터 유형, 부울 값의 도입. 부울 값 파이썬은 참 또는 거짓이지만, 실제 파이썬에서 같은 부울 유형이 다른 유형에 비교 될 수없는, (F는 대문자 여야 함) 거짓은 거짓이다 (T가 대문자 여야합니다) True입니다.
>>> True
True
>>> true
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
NameError: name 'true' is not defined
>>> True = 1
File "<stdin>", line 1
SyntaxError: can't assign to keyword
비교 유형
표 3 비교 유형
| 운영자 | 의미 |
| : ----- : | : ---- : |
| == | 동일에 |
! | = | 같지 않음에 |
| <|보다 작은 |
|> |보다 큰 |
| <= | 이하 |
|> = |보다 크거나 같음 |
한편 파이썬 이진 연산자가 사용될 수도 과,또는,아니같은 자바, OR, NOT합니다.
조건 및 코드 블록
당신은 조건으로 볼 수있는 부울 식의 앞에보고, 그것은 한 가지 표현입니다. 단지에서 "조건"
상황에 맞는 제어 흐름 문보다 구체적인 이름을 입력합니다. 조건은 항상 참 또는 거짓 부울 값으로 평가한다. 제어
조건에 따라 흐름표는 무엇을 결정하는, 참 또는 거짓입니다. 거의 모든 제어 흐름 문은 사용 조건입니다.
블록
어떤 자바 파이썬은 {} 코드 블록의 종류를 구별하지 않으려면, 파이썬의 코드 블록은 모두 들여 쓰기에 의해 만들어집니다.
- 후퇴 증가 코드 블록 시작.
- 코드 블록은 다른 코드 블록을 포함 할 수있다.
- 들여 쓰기는 0으로 감소하거나, 코드 블록의 끝을 후퇴 외부 코드 블록을 둘러싸 줄인다.
>>> if 'a'=='b':
... print('真')
... else:
... print('假')
...
假
상기 콜론 조건에 따라 제어 흐름 다른 경우,이며, 코드 블록은 압입이 필요하다.
루프는 다음과 같은 형식을 갖는다 :
spam = 0
while spam < 5:
print('Hello, world.')
spam = spam + 1
또한 파이썬에서 또한 휴식을 사용하여 키워드를 계속할 수 있습니다.
루프
어린이 밖으로 또 다른 하나의 루프는 형식 다음주기에 대한 존경을 표시합니다 :
; 키워드
변수 명,
키워드에,
세 개의 매개 변수를 통과 범위 () 메소드를 호출하여,
결장,
(절 위해 함) 다음으로, 축퇴 부호 블록의 처음부터.
for i in range(5):
print('Jimmy Five Times (' + str(i) + ')')
I 0,1,2,3,4 별도로 수행.
범위()사실,이 방법은 생략 될 수있다 두 세 개의 파라미터를 갖는다. 범위 (시작, 끝, 간격), 당신은 시작, 종료 단계를 지정할 수 있습니다.
>>> for i in range(0,10,3):
... print(i)
...
0
3
6
9
기능
가져 오기 모듈
파이썬은 당신이 이제까지 본 인쇄 (), 입력 ()와 렌 () 함수를 포함하여 ", 내장 함수"라고 기능의 기본 세트를 호출 할 수 있습니다. 파이썬은이라고도 모듈 세트 포함 "표준 라이브러리를." 각 모듈은 프로그램에 포함 할 수있는 관련 기능 세트를 포함하는 파이썬 프로그램입니다. 예를 들어, 수학 함수 연산 모듈은 임의의 기능 모듈은 난수 등에 관련된 관련있다.
용도수입또는수입에서성명서
사용자 정의 기능
내장 함수뿐만 아니라, 대부분의 기능은 사용자 정의 할 수 있습니다. (기능 모듈이 다른 사람에서 가져온 경우에도 자기 정의, 사용하자)
def hello(name):
print('Hello ' + name)
DEF 함수 이름 (파라미터) :
함수 본문
없음
없음을 나타내는 값 없음 Python으로 불리는 값을 없다. 없음 고유 값 NoneType 데이터 유형 (다른 프로그래밍 언어는,이 값은 NULL, 전무 또는 정의되지 호출 할 수) 없다. 부울 참과 거짓처럼 같은, 아무도 첫 번째 문자의 N을 활용 없어야합니다
예외 처리
def temp_convert(var):
try:
return int(var)
except ValueError, Argument:
print "参数没有包含数字\n", Argument
자바와 마찬가지로, 파이썬 (예 : ValueError를 예 등) 예외 클래스와 이외에, 당신은 또한 인수의 예로서 (제외 뒷면에 매개 변수를 촉발 유지할 수 있습니다 것을 제외하고, 제외하고는 시도로 치료를 캡처 사실, VAR 시도)
명부
리스트는 같은 요소들을 저장할 수있는 자바 어레이의 집합으로 볼 수있다>>> 스팸 = "고양이", "박쥐 ','쥐 ','코끼리 ']. 우리는 [0] = '고양이'스팸 등의 요소 인덱스를 통해 얻을 수 있으며, 스팸 [-1] = '코끼리'로 후면에서 데이터를 취할 수 있습니다.
슬라이스
직접 운전 지수뿐만 아니라, 요소를 얻기 위해, 당신은 또한 조각으로 일부 하위 목록을 얻을 수 있습니다.
>>> spam[1:3]
['bat', 'rat']
>>> spam[0:-1]
['cat', 'bat', 'rat']
바느질하고 목록의 사본
차이점은 자바와 파이썬 목록 자유의 사본을 접합 할 수 있다는 것입니다.
>>> [1, 2, 3] + ['A', 'B', 'C']
[1, 2, 3, 'A', 'B', 'C']
>>> ['X', 'Y', 'Z'] * 3
['X', 'Y', 'Z', 'X', 'Y', 'Z', 'X', 'Y', 'Z']
특정 키워드 및 방법의 목록과 결합
목록의 요소를 삭제하려면, 당신은 직접 델 키워드를 사용할 수 있습니다.
- 또한주기 위해 결합 될 수있다
>>> supplies = ['pens', 'staplers', 'flame-throwers', 'binders']
>>> for i in range(len(supplies)):
print('Index ' + str(i) + ' in supplies is: ' + supplies[i])
- 목록의 요소 여부를 결정 직접적인에서의 사용
>>> 'howdy' in ['hello', 'hi', 'howdy', 'heyas']
True
>>> spam = ['hello', 'hi', 'howdy', 'heyas']
>>> 'cat' in spam
False
- 판정 지표 () 메소드인지 제 인덱스리스트 내의 요소의 발생이 아니라면 에러.
>>> spam = ['Zophie', 'Pooka', 'Fat-tail', 'Pooka']
>>> spam.index('Pooka')
1
리스트 내의 append () 및 삽입 () 값을 추가하는 방법
APPEND () 메소드의 호출은,리스트의 말미에 파라미터를 추가한다. 삽입 () 방법은 이하에서 임의의 스케일 값리스트에 삽입 할 수있다. 첫번째 파라미터 인서트 () 메소드는 두번째 파라미터 삽입 할 새로운 값이며, 새로운 인덱스 값이다.- () 메소드는 제거와리스트로부터 값을 제거
값의 정렬 된 목록의 종류 () 메서드
튜플
자바에서는 문자열 최종 수정, 그래서 문자열 수정할 경우 문자열 자체는 사실, 메모리에 새로운 문자열을 생성, 변경할 수 없습니다 것을 알고있다. 비슷한 파이썬은 비 수정 데이터 유형이 - 튜플. 튜플과리스트는 거의 많은 방법이 일반적이다. 그러나, 튜플의 삭제를 증가시킬 수 없다 "()"로 튜플과 튜플 내의 요소는 변경할 수 없습니다.
튜플과 변환의 목록
기능 목록 ()와 튜플 ()이 목록에 반환하고 튜플은 그 값의 버전을 전달합니다.
>>> tuple(['cat', 'dog', 5])
('cat', 'dog', 5)
>>> list(('cat', 'dog', 5))
['cat', 'dog', 5]
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
그리고 참조 기능을 인용
>>> spam = [0, 1, 2, 3, 4, 5]
>>> cheese = spam
>>> cheese[1] = 'Hello!'
>>> spam
[0, 'Hello!', 2, 3, 4, 5]
>>> cheese
[0, 'Hello!', 2, 3, 4, 5]
이해하기 매우 쉽고, 위의 코드를 참조 스팸은 치즈를 참조하는 대신 복제 된 개체, 그래서 고유의 객체를 변경시킬 수있는 작업에 대한 참조를 복사합니다. 당신은 치즈에 대한 새로운 객체 참조를 생성 할 경우, 복사 기능 복사 ()와 deepcopy ()를 사용해야합니다. 사실, 얕은 복사 및 자바의 깊은 사본.
>>> import copy
>>> spam = ['A', 'B', 'C', 'D']
>>> cheese = copy.copy(spam)
>>> cheese[1] = 42
>>> spam
['A', 'B', 'C', 'D']
>>> cheese
['A', 42, 'C', 'D']
DeepCopy ()가 완전 사본을 지칭 새로운 객체를 생성 스팸 동일하지 스팸 또한 내부 데이터와 연결되어 새로운 객체의 무리로부터 복사한다. 딥 카피 이러한 개체를 복사 할 동안 'A', 'B'는 각각이 목록의 하위 요소로, 얕은 복사, 복사하지 않는다는 말처럼.
사전
목록처럼, "사전"값의 모음입니다. 그러나 인덱스의 목록과는 달리, 사전 지수는 다양한 데이터 유형, 단지 정수를 사용할 수 있습니다. "- 값 키"쌍 인덱스의 사전이라는 "키"키와 관련된 값으로 알려져있다. 그것은 말할 수있다지도에서 사전에 자바가.
myCat = {'size': 'fat', 'color': 'gray', 'disposition': 'loud'}
리스트는 정렬 기능을 사용할 수없고, 슬라이스가 이용 될 수없는 요소 인덱스의 동작에 의해 획득 할 수없는 개념 사전 순서는 없다 다르다.
운영 사전
기본 조작
따라서 사전 동작, 기능 키를 사용하여 새로운 경로를 열어야 () 값 () 및 상품 (). 이름에서 알 수 있듯이, 그들은 사전을 얻을 키 값이다, 발 값은, 누가 자신의 키.
>>> spam = {'color': 'red', 'age': 42}
>>> for v in spam.values():
print(v)
red
42
>>> for k in spam.keys():
print(k)
color
age
>>> for i in spam.items():
print(i)
('color', 'red')
('age', 42)
그것은 spam.keys ()가 원하는 경우 튜플리스트 변환 기능을 필요로 해당 목록에, 얻어진 것을 언급 할 가치가있다.
키 또는 값 검사 사전이 있는지 여부
사전에 데이터가 있는지 여부를 확인하려면 키워드를 또는하지 사용할 수 있습니다.
>>> spam = {'name': 'Zophie', 'age': 7}
>>> 'name' in spam.keys()
True
>>> 'Zophie' in spam.values()
True
>>> 'color' in spam.keys()
False
>>> 'color' not in spam.keys()
True
>>> 'color' in spam
False
(수)과을 setDefault () 메소드
키 값을 기준 값에 대응하는 값을 찾을 수 있습니다 () 얻을. 두 개의 매개 변수를 얻는 상기 제 파라미터의 키 값, 두 번째 파라미터는 키 - 값 쌍은 존재하지 않는다 (또는 키가 존재하지 않음), 및 투여 기본값이다.
>>> picnicItems = {'apples': 5, 'cups': 2}
>>> 'I am bringing ' + str(picnicItems.get('cups', 0)) + ' cups.'
'I am bringing 2 cups.'
>>> 'I am bringing ' + str(picnicItems.get('eggs', 0)) + ' eggs.'
'I am bringing 0 eggs.'
을 setDefault () 보유 개의 파라미터, 제 1 키는 키 값에 삽입되는 두 번째 값이 기본값이다. 원래 사전이 키 값을했을 때하지 않을 경우, 사전에, 키 원래 값을 아무것도하지 않고, 같은 키를 사용하여 사전에 삽입 된 키 - 값 쌍을 구성하는, 값으로 값을 기본값으로 설정됩니다.
>>> spam = {'name': 'Pooka', 'age': 5}
>>> spam.setdefault('color', 'black')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}
>>> spam.setdefault('color', 'white')
'black'
>>> spam
{'color': 'black', 'age': 5, 'name': 'Pooka'}
문자열 조작
우리는 이미 해당 문자열과 기본 동작을 알고, 우리는 후리스트, 튜플, 사전을 알게 된 후 문자열로 풍부한 접근 방식을 보인다.
전송 문자와 원래 문자
그리고, 자바와 마찬가지로 파이썬은 특수 문자를 탈출하는 데 사용됩니다. 오리지널 캐릭터 연구도 있습니다. R은 원래 문자열 만들기, 인용 된 문자열의 시작하기 전에 추가 할 수 있습니다. "원래 문자열이"완전히 모든 이스케이프 문자를 무시하고, 문자열을 슬래시 모두 다시 인쇄.
>>> print(r'That is Carol\'s cat.')
That is Carol\'s cat.
노트 및 여러 줄 문자
한 줄 주석 파이썬 특수 문자 번호를 사용할 수 있으며, 여러 줄의 코멘트 "를 사용하여". "
# 这是一行注释
"""
这是多行注释
这是多行注释
这是多行注释
"""
우리가 좋은 페이지, 당신은 ''사용할 수 있습니다 보일하기 위해, 매우, 매우 긴 문자열을 인쇄하려면 인쇄 기능을 사용할 때 가끔 '여러 대형 캐릭터 라인으로 분할됩니다.
print('''Dear Alice,
Eve's cat has been arrested for catnapping, cat burglary, and extortion.
Sincerely,
Bob''')
문자열 섹션 및 첨자
문자열 목록은 요소가 문자로 볼 수있는 치료로 사용할 수 있습니다. 그것은 첨자이거나 문자열을 슬라이스 할 수 있습니다. 동일하지 않은 문자열 내의 문자 여부를 결정하는 데에 사용할 수 있습니다.
>>> spam = 'Hello world!'
>>> spam[0]
'H'
>>> spam[4]
'o'
>>> spam[-1]
'!'
>>> spam[0:5]
'Hello'
>>> spam[:5]
'Hello'
>>> spam[6:]
'world!'
일부 문자열은 내장 방법
- 모든 변형 대문자 상부 () 문자열
- 모든 낮은 () 문자열을 소문자로
- isupper ()는 적어도 하나의 문자로 구성된 문자열을 가지고 있으며, 모든 문자가 대문자입니다
- islower와 ()는 적어도 하나의 문자로 구성된 문자열을 가지고 있으며, 모든 문자가 소문자에
- 문자열이 문자 만 포함 ()는 isalpha에, 그리고 비어
- isalnum ()는 문자열은 문자와 숫자 만 포함하고, 비 비어
- isdecimal () 문자열이 숫자 만 포함되어 있으며, 비어
- isspace와 문자열 만 공백, 탭 및 라인 피드 및 비어 있지 않은 포함 ()가된다
- 문자열의 startsWith () 메소드는 전달 된 문자열로 시작
- endsWith ()에 전달 된 문자열을 문자열의 끝에 방법
- () 문자열 연결에 가입, 당신은 구분 기호를 지정할 수 있습니다
- 문자열 값을 절단하여 분리 ()
- 출력 데이터는, 공간 부가 rjust 부족한 경우에는 (), 왼쪽 채우기
- ljust () 오른쪽 패딩, 출력 데이터가 충분하지 않으면, 추가 공간
- 센터 ()는 데이터 문자열, 추가 공간의 부족을 중심
끝
아아, 기초가 다시 물론,이는이 재단의 기초 인 경우에도 파이썬 구문. 메모리 관리와 같은 방법 파이썬 멀티 스레딩 개념처럼 그래서 그것을 볼 시간이있다. 마음의 시작하는 것이 대부분도 결국 공부를하지 않으려는 작은 스크립트 또는 뭔가를 쓰고, 단지 보조 언어로 취급 파이썬을 배우기 시작, 잊지 마세요, 시간이 제한되어, 자바는 또한 세계가 많은 것을 연구하는 것, 그리고 프로그래밍에 추가되지만, 내가 경험 기다리는 많은 좋은 일이있다. 자신의 지식을 적용, 나는 또한 파충류 파이썬의 힘을 쓰는 배우, IMDB TOP250 크롤링 작은 스크립트를 썼습니다. 코드 스티커 (이 하, 하, 파충류 항목의 고전적인 사례 인 것처럼)
import requests as rq
from bs4 import BeautifulSoup
import pandas as pd
def get_data(url):
print(url)
html = rq.get(url).content.decode("utf-8")
soup = BeautifulSoup(html,"lxml")
divItems = soup.find_all("div","item")
for item in divItems:
name = item.find('span',{'class':'title'}).text
rating_num = item.find('span',{'class':'rating_num'}).text
number = item.find('em').text
imgUrl = item.find("img").attrs['src']
print("----------->")
print("number:"+number)
numbers.append(number)
print("name:"+name)
names.append(name)
print("rating_num:"+rating_num)
rating_nums.append(rating_num)
print("imgUrl:"+imgUrl)
imgUrls.append(imgUrl)
print("----------->")
data_df = pd.DataFrame()
numbers = []
names = []
rating_nums = []
imgUrls = []
for num in range(0,10):
get_data("https://movie.douban.com/top250?start={}&filter=".format(int(num)*25))
data_df["序列"] = numbers
data_df["名称"] = names
data_df["评分"] = rating_nums
data_df["海报"] = imgUrls
writer = pd.ExcelWriter('movie_top250.xlsx')
data_df.to_excel(writer, 'page_1', float_format='%.5f') # float_format 控制精度
writer.save()
물론, 사전에 모듈을 설치할 필요는
요청
BeautifulSoup4
팬더
openpyxl의
LXML (파서 BeautifulSoup4를)
끝.