python 基礎(一)

  • 2020 年 1 月 13 日
  • 筆記
  • 第一個程式 hello.py 以下為內容
#!/usr/bin/env python  # -*- coding:utf-8 -*-  __author__ = 'teng'  print 'hello'
#!/usr/bin/env python

表示使用 特定的解釋器執行 如果是python3 將python改為python3

# -*- coding:utf-8 -*-

表示將程式碼編碼設置為utf-8(針對Unicode的可變長度字元編碼,用1到6個位元組編碼UNICODE字元)

 如果不寫不能顯示中文 默認ascii碼(1個位元組)來讀

運行 python hello.py 

變成可執行文件

sudo chmod +x hello.py 

運行./hello.py

  • 注釋

# 單行注釋 

"""多行注釋"""

一般在文件中在正文前使用"""多行注釋"""表明用處

  • 腳本參數

python flask.py 127.0.0.1:8000

如何捕獲 flask.py 127.0.0.1:8000

flask,py 為 arg[0]

127.0.0.1:8000 為arg[1]

flask.py程式碼

import sys  print sys.argv

運行

python flask.py 127.0.0.1:8000

結果

['flask.py', 『127.0.0.1:8000']

argv 為一個列表

  • 位元組碼  import sys import hello print sys.argv

    運行 => 生成hello.pyc文件

    pyc編譯生成 位元組碼 (可以反編譯)

    如果編譯完成 => 可以刪除hello.py => import hello依然可以導入

  • 變數 python 是動態語言  不需要聲明  name = "紅雀" name 就是一個引用就是C的*name 指向 記憶體里"紅雀"這個字元串  變數名要求=> 字母下劃線和數組組成 但數字不能開頭 內部關鍵字不能使用 name1 = name name的地址給了name1:記憶體公用 變數並不是最好的選擇 變數相對於fp是災難 可以用monad解決IO 當然上述是理論 
  • 字元串

        c中"hello"為一個字元串數組 :

        地址連續=>python 將其封裝 如若存在相同字元串 記憶體固定

        修改=>重新創建

        內部機制 以下請看圖自行理解 提示字元串快取池

        +每次使用一次就在記憶體中申請一個新的記憶體

        佔位符 %s(字元串) %d(數字)=>%xx

                    {0}  {1}  => .format(xx,xx)

  • 輸入

raw_input: 接收為字元串 

input:輸入什麼類型 接收什麼類型

模組getpass 密碼隱形

流程式控制制

if else 

name = raw_input("請輸入用戶名:")  if name == "紅雀":      print "登陸成功"  else:      print "登陸失敗"

        值對比 == 

        引用對比 is

多種形式(case)

name = raw_input("in:")  if name == "teng":      print "good"  elif name == "rommel":      print "nice"  else:      print "bad"

縮進=>自行養成風格

import getpass  name = raw_input("name:")  pwd = getpass.getpass("password:")  if name == "teng" and pwd == "teng":      print "success"  else:      print "fail"
  • 基本數據類型 單值:數字(int32/64之分)、字元串、布爾值 集合:列表、元組、字典、set(哈希表)