파이썬 기초

高洛峰
풀어 주다: 2017-02-16 11:22:28
원래의
1564명이 탐색했습니다.

서문

Python은 지루한 크리스마스를 없애기 위해 1989년에 거북이 삼촌이 작성한 프로그래밍 언어로, 우아함, 명확성, 단순함이 특징입니다.
Python은 웹 웹 사이트 및 다양한 네트워크 서비스, 시스템 도구 및 스크립트를 개발하는 데 적합하며, 과학 컴퓨팅 등을 위해 다른 언어로 개발된 모듈을 패키지하는 "접착제" 언어로 사용될 수 있습니다.

편집자가 Python을 배우는 세 가지 이유는 다음과 같습니다.
필요한 모든 종류의 데이터를 크롤링하려면 Python을 배우는 것이 좋습니다.
데이터를 분석하고 마이닝하려면 Python을 배우는 것이 좋습니다.
재미있고 흥미로운 일을 하려면 Python을 배우는 것이 좋습니다.

준비

1. 편집기는 최신 버전인 3.6.0을 사용하고 있습니다.

2. Python의 통합 개발 환경인 Open IDLE은 간단하지만 매우 유용합니다. IDLE에는 구문에 대한 색상 강조 표시 기능이 있는 편집기, 디버깅 도구, Python 셸 및 Python 3에 대한 전체 온라인 문서 세트가 포함되어 있습니다.

hello world

1. IDLE에서 print('hello world')를 입력하고 Enter를 누르면 hello world가 출력됩니다.
PS: 문장 끝에 세미콜론을 추가하든 안 추가하든 상관없습니다; 편집자는 세미콜론을 추가하지 않기로 결정했습니다.

2. sublime을 사용하여 다음 내용으로 hello.py라는 새 파일을 만듭니다.

print('hello world')
로그인 후 복사

Windows에서는 Shift+마우스 오른쪽 버튼을 클릭하고 여기에서 명령 창을 열고 python hello.py을 실행합니다. hello world를 입력하고 인쇄하세요.

3. sublime을 사용하여 다음 내용으로 hello.py라는 새 파일을 만듭니다.

#!/usr/bin/env python
print('hello world')
로그인 후 복사

Linux 또는 Mac 환경에서는 스크립트를 직접 실행할 수 있습니다. 먼저 실행 권한 chmod a+x hello.py을 추가한 후 ./hello.py을 실행하세요. 물론 python hello.py을 사용하여 Windows처럼 스크립트를 실행할 수도 있습니다.

모듈 소개

1. 다음 내용으로 새 name.py를 만듭니다.

name='voidking'
로그인 후 복사

2. python name.py3. Python 쉘 모드로 들어가서
, import name을 실행하면 voidking이 인쇄됩니다. print(name.name)

기본 구문

공통 함수(인쇄), 데이터 유형, 표현식, 변수, 조건 및 루프, 함수. 다른 언어와 마찬가지로 아래에서 부품을 선택하여 확장하세요.

목록 연결 리스트 배열

1. 배열 정의


myList = ['Hello', 100, True]2. 출력 배열

print(myList)3.
,
print(myList[0])4. 끝에 요소 추가 print(myList[-1])

5. 머리에 요소 추가 myList.append('voidking')

6. 🎜> , myList.insert(0,'voidking')
7. 요소 할당
myList.pop()myList.pop(0)
튜플 고정 배열
myList[0]='hello666'1. 배열 정의

오류 정의 :

, 올바른 정의:
myTuple = ('Hello', 100, True)2. 출력 배열
myTuple1=(1)myTuple=(1,)3. 출력 배열 요소

print(myTuple)4. >
,
print(myTuple[0])
if 문
t = ('a', 'b', ['A', 'B'])ift[2][0]='X'

score = 75
if score>=60:
    print 'passed'
로그인 후 복사
를 누르고 Enter를 두 번 눌러 코드를 실행합니다.

if-else

if score>=60:
    print('passed')
else:
    print('failed')
로그인 후 복사

if-elif-else

if score>=90:
    print('excellent')
elif score>=80:
    print('good')
elif score>=60:
    print('passed')
else:
    print('failed')
로그인 후 복사
loop

for 루프

L = [75, 92, 59, 68]
sum = 0.0
for score in L:
       sum += score
print(sum / 4)
로그인 후 복사

while 루프

sum = 0
x = 1
while x<100:
    sum += x
    x = x + 1
print(sum)
로그인 후 복사

break

sum = 0
x = 1
while True:
    sum = sum + x
    x = x + 1
    if x > 100:
        break
print(sum)
로그인 후 복사
continue

L = [75, 98, 59, 81, 66, 43, 69, 85]
sum = 0.0
n = 0
for x in L:
    if x < 60:
        continue
    sum = sum + x
    n = n + 1
print(sum/n)
로그인 후 복사

다중 루프

for x in [&#39;A&#39;, &#39;B&#39;, &#39;C&#39;]:
    for y in [&#39;1&#39;, &#39;2&#39;, &#39;3&#39;]:
        print(x + y)
로그인 후 복사

dict

dict의 기능은 키 집합 간에 매핑 관계를 설정하는 것입니다. 그리고 일련의 값.

d = {
    &#39;Adam&#39;: 95,
    &#39;Lisa&#39;: 85,
    &#39;Bart&#39;: 59,
    &#39;Paul&#39;: 75
}
print(d)
print(d[&#39;Adam&#39;])
print(d.get(&#39;Lisa&#39;))
d[&#39;voidking&#39;]=100
print(d)
for key in d:
    print(key+&#39;:&#39;,d.get(key))
로그인 후 복사

set

set는 일련의 요소를 보유하며 이는 목록과 매우 유사하지만 set의 요소는 반복되지 않고 순서가 지정되지 않으므로 dict의 키와 매우 유사합니다. .

s = set([&#39;Adam&#39;, &#39;Lisa&#39;, &#39;Bart&#39;, &#39;Paul&#39;])
print(s)
s = set([&#39;Adam&#39;, &#39;Lisa&#39;, &#39;Bart&#39;, &#39;Paul&#39;, &#39;Paul&#39;])
print(s)
len(s)
print(&#39;Adam&#39; in s)
print(&#39;adam&#39; in s)
for name in s:
    print(name)
로그인 후 복사
s = set([(&#39;Adam&#39;, 95), (&#39;Lisa&#39;, 85), (&#39;Bart&#39;, 59)])
for x in s:
    print(x[0]+&#39;:&#39;,x[1])
로그인 후 복사
s.add(100)
print(s)
s.remove((&#39;Adam&#39;,95))
print(s)
로그인 후 복사

함수

내장 함수

del sum
L = [x*x for x in range(1,101)]
print sum(L)
로그인 후 복사

맞춤 함수

def my_abs(x):
    if x >= 0:
        return x
    else:
        return -x
my_abs(-100)
로그인 후 복사

도입된 함수 라이브러리

import math

def quadratic_equation(a, b, c):
    x = b * b - 4 * a * c
    if x < 0:
        return none
    elif x == 0:
        return -b / (2 *a)
    else:
        return ((math.sqrt(x) - b ) / (2 * a)) , ((-math.sqrt(x) - b ) / (2 * a))
print(quadratic_equation(2, 3, 0))
print(quadratic_equation(1, -6, 5))
로그인 후 복사

변수 매개변수

def average(*args):
    if args:
        return sum(args)*1.0/len(args)
    else:
        return 0.0

print(average())
print(average(1, 2))
print(average(1, 2, 2, 3, 4))
로그인 후 복사

슬라이싱

리스트 슬라이싱

L = [&#39;Adam&#39;, &#39;Lisa&#39;, &#39;Bart&#39;, &#39;Paul&#39;]
L[0:3]
L[:3]
L[1:3]
L[:]
L[::2]
로그인 후 복사

역슬라이싱

L[-2:]
L[-3:-1]
L[-4:-1:2]
로그인 후 복사
L = range(1, 101)
L[-10:]
L[4::5][-10:]
로그인 후 복사

PS: range는 순서가 지정된 리스트이며 기본적으로 함수 형식으로 표현됩니다. range 함수를 실행하면 다음과 같은 작업을 수행할 수 있습니다. 목록 형태로 표현됩니다.

문자열 슬라이스

def firstCharUpper(s):
    return s[0:1].upper() + s[1:]

print(firstCharUpper(&#39;hello&#39;))
로그인 후 복사

반복

Python의 for 루프는 목록이나 튜플뿐만 아니라 다른 반복 가능한 객체에서도 사용할 수 있습니다.

반복 연산은 집합에 대한 것입니다. 집합이 순서가 있든 없든 for 루프를 사용하여 집합의 각 요소를 순서대로 꺼낼 수 있습니다.

세트는 다음을 포함한 요소 세트를 포함하는 데이터 구조를 나타냅니다.


순서가 지정된 세트: 목록, 튜플, 문자열 및 유니코드

  • 순서가 지정되지 않은 집합: set

  • 키-값 쌍이 있는 순서가 지정되지 않은 집합: dict

  • for i in range(1,101):
        if i%7 == 0:
            print(i)
    로그인 후 복사
  • 색인 반복

    For 순서가 지정된 세트에서는 요소가 색인화됩니다. for 루프에서 색인을 얻으려면 어떻게 해야 합니까? 방법은 enumerate() 함수를 사용하는 것입니다.
  • L = [&#39;Adam&#39;, &#39;Lisa&#39;, &#39;Bart&#39;, &#39;Paul&#39;]
    for index, name in enumerate(L):
        print(index+1, &#39;-&#39;, name)
    
    myList = zip([100,20,30,40],L);
    for index, name in myList:
        print(index, &#39;-&#39;, name)
    로그인 후 복사

    迭代dict的value

    d = { &#39;Adam&#39;: 95, &#39;Lisa&#39;: 85, &#39;Bart&#39;: 59 }
    print(d.values())
    for v in d.values():
        print(v)
    로그인 후 복사

    PS:Python3.x中,dict的方法dict.keys(),dict.items(),dict.values()不会再返回列表,而是返回一个易读的“views”。这样一来,k = d.keys();k.sort()不再有用,可以使用k = sorted(d)来代替。
    同时,dict.iterkeys(),dict.iteritems(),dict.itervalues()方法不再支持。

    迭代dict的key和value

    d = { &#39;Adam&#39;: 95, &#39;Lisa&#39;: 85, &#39;Bart&#39;: 59 }
    for key, value in d.items():
        print(key, &#39;:&#39;, value)
    로그인 후 복사

    列表生成

    一般表达式

    L = [x*(x+1) for x in range(1,100)]
    print(L)
    로그인 후 복사

    复杂表达式

    d = { &#39;Adam&#39;: 95, &#39;Lisa&#39;: 85, &#39;Bart&#39;: 59 }
    def generate_tr(name, score):
        if score >=60:
            return '<tr><td>%s</td><td>%s</td></tr>' % (name, score)
        else:
            return '<tr><td>%s</td><td style="color:red">%s</td></tr>' % (name, score)
    
    tds = [generate_tr(name,score) for name, score in d.items()]
    print('<table border="1">')
    print('<tr><th>Name</th><th>Score</th><tr>')
    print('\n'.join(tds))
    print('</table>')
    로그인 후 복사

    条件表达式

    L = [x * x for x in range(1, 11) if x % 2 == 0]
    print(L)
    로그인 후 복사
    def toUppers(L):
        return [x.upper() for x in L if isinstance(x,str)]
    
    print(toUppers(['Hello', 'world', 101]))
    로그인 후 복사

    多层表达式

    L = [m + n for m in 'ABC' for n in '123']
    print(L)
    로그인 후 복사
    L = [a*100+b*10+c for a in range(1,10) for b in range(0,10) for c in range(1,10) if a==c]
    print(L)
    로그인 후 복사

    后记

    至此,Python基础结束。接下来,爬虫飞起!

    更多Python,基础相关文章请关注PHP中文网!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!