Python の基本

高洛峰
リリース: 2017-02-16 11:22:28
オリジナル
1606 人が閲覧しました

前書き

Python は、退屈なクリスマスを解消するために 1989 年に Uncle Turtle によって書かれたプログラミング言語であり、現在では豊富な標準ライブラリとサードパーティ ライブラリが備わっています。
Python は、Web ウェブサイトやさまざまなネットワーク サービス、システム ツール、スクリプトの開発に適しており、科学計算などのために、他の言語で開発されたモジュールをパッケージ化するための「接着剤」言語として使用できます。

エディターが Python を学習する理由は 3 つあります:
必要なあらゆる種類のデータをクロールするには、Python を学習した方がよいでしょう。
データを分析してマイニングするには、Python を学ぶのもよいでしょう。
楽しくて興味深いことをするには、Python を学ぶのもよいでしょう。

準備

1. Python公式サイトからお好みのバージョンをダウンロードしてインストールします。エディタは最新バージョン3.6.0を使用します。

2. Pythonの統合開発環境であるOpen IDLEは、シンプルですが非常に便利です。 IDLE には、構文を色で強調表示するエディター、デバッグ ツール、Python シェル、および Python 3 のオンライン ドキュメントの完全なセットが含まれています。

hello world

1. IDLE で、print('hello world') と入力し、Enter キーを押して hello world を出力します。 print('hello world'),回车,则打印出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。当然,也可以和Windows一样,使用python hello.py来执行脚本。

引入模块

1、新建name.py,内容如下:

name='voidking'
ログイン後にコピー

2、执行python name.py
3、进入python shell模式,执行import nameprint(name.name),则打印出voidking。

基础语法

常用函数(print)、数据类型、表达式、变量、条件和循环、函数。和其他语言类似,下面选择一部分展开。

list链表数组

1、定义数组
myList = ['Hello', 100, True]
2、输出数组
print(myList)
3、输出数组元素
print(myList[0])print(myList[-1])
4、追加元素到末尾
myList.append('voidking')
5、追加元素到头部
myList.insert(0,'voidking')
6、删除元素
myList.pop()myList.pop(0)
7、元素赋值
myList[0]='hello666'

tuple固定数组

1、定义数组
myTuple = ('Hello', 100, True)
错误定义:myTuple1=(1),正确定义:myTuple=(1,)
2、输出数组
print(myTuple)
3、输出数组元素
print(myTuple[0])
4、tuple和list结合
t = ('a', 'b', ['A', 'B'])t[2][0]='X'追記: ステートメントの最後にセミコロン ; を追加することも追加しないこともできます。編集者は、より簡単なセミコロンを追加しないことを決定しました。

2. sublime を使用して、次の内容の新しいファイル hello.py を作成します。

score = 75
if score>=60:
    print 'passed'
ログイン後にコピー

Windows では、Shift+右クリックしてコマンド ウィンドウを開き、python hello.py を実行して、 「hello world」と入力して出力します。

3. sublime を使用して、次の内容の新しいファイル hello.py を作成します。

if score>=60:
    print('passed')
else:
    print('failed')
ログイン後にコピー

Linux または Mac 環境では、スクリプトを直接実行できます。まず実行権限 chmod a+x hello.py を追加してから、./hello.py を実行します。もちろん、python hello.py を使用して Windows と同じようにスクリプトを実行することもできます。

モジュールを導入します

1. 次の内容で新しい name.py を作成します:

if score>=90:
    print('excellent')
elif score>=80:
    print('good')
elif score>=60:
    print('passed')
else:
    print('failed')
ログイン後にコピー

2. python name.py を実行します。

3. Python シェル モードに入り、import nameprint(name.name) を実行すると、voidking が出力されます。

基本構文

よく使用される関数 (出力)、データ型、式、変数、条件とループ、関数。他の言語と同様に、以下の部分を選択して展開します。

リストリンクリスト配列

1. 配列を定義します

myList = ['Hello', 100, True]

2. 出力配列

print(myList)

3 . 配列要素を出力します

print(myList[0])print(myList[-1])

4. 要素を末尾に追加します

myList.append (' voidking')

5. head に要素を追加します

myList.insert(0,'voidking')

6. 要素を削除します

myList.pop(), <code>myList.pop(0)

7. 要素の割り当て

myList[0]='hello666'

配列を定義します

1. myTuple = ('Hello', 100, True)

間違った定義: myTuple1=(1)、正しい定義: myTuple=(1,)

2. 配列の出力

print(myTuple)

3. 配列の要素の出力

print(myTuple[0])

4. タプルとリストの結合

t = ('a', 'b', ['A', 'B']), t[2][0]='X'

if ステートメント

if

L = [75, 92, 59, 68]
sum = 0.0
for score in L:
       sum += score
print(sum / 4)
ログイン後にコピー

Enter キーを 2 回押してコードを実行します。

if-else

sum = 0
x = 1
while x<100:
    sum += x
    x = x + 1
print(sum)
ログイン後にコピー

if-elif-else

sum = 0
x = 1
while True:
    sum = sum + x
    x = x + 1
    if x > 100:
        break
print(sum)
ログイン後にコピー
    ループ
  • forループ

    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)
    ログイン後にコピー
  • whileループ
  • 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)
    ログイン後にコピー

    break

    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))
    ログイン後にコピー
  • Continue
  • 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])
    ログイン後にコピー
  • dict

dictの機能はキーのセットと値のセットの間のマッピング関係を確立します。

s.add(100)
print(s)
s.remove((&#39;Adam&#39;,95))
print(s)
ログイン後にコピー

set

🎜set は一連の要素を保持します。これはリストに非常に似ていますが、set の要素は繰り返されず、順序付けされていないため、dict のキーに非常に似ています。 🎜
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:]
ログイン後にコピー
🎜スライス🎜🎜リストスライス🎜
def firstCharUpper(s):
    return s[0:1].upper() + s[1:]

print(firstCharUpper(&#39;hello&#39;))
ログイン後にコピー
🎜逆スライス🎜
for i in range(1,101):
    if i%7 == 0:
        print(i)
ログイン後にコピー
rree 🎜追記: 範囲は順序付けられ、リストは表現されますデフォルトでは関数形式になります。 range 関数を実行すると、リスト形式で表現できます。 🎜🎜文字列スライス🎜
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)
ログイン後にコピー
ログイン後にコピー
🎜反復🎜🎜Python の for ループは、リストやタプルだけでなく、他の反復可能なオブジェクトにも使用できます。 🎜反復操作はセットに対するもので、セットが順序付けされているかどうかに関係なく、for ループを使用して常にセットの各要素を順番に取り出すことができます。 🎜セットとは、以下を含む要素のセットを含むデータ構造を指します: 🎜🎜🎜🎜順序付きセット: リスト、タプル、str、および Unicode; 🎜🎜🎜🎜順序なしセット: set🎜🎜🎜🎜 順序なしセットであり、キーと値を持ちます。ペア: dict🎜🎜🎜
d = { &#39;Adam&#39;: 95, &#39;Lisa&#39;: 85, &#39;Bart&#39;: 59 }
print(d.values())
for v in d.values():
    print(v)
ログイン後にコピー
ログイン後にコピー
🎜インデックスの反復🎜🎜 順序付きセットの場合、要素にはインデックスが付けられます。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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート