1. 程式人生 > >1 Python基礎

1 Python基礎

pycharm 字節 watermark 時代 iba 開發效率 false 了吧 國內

python基礎

python的歷史

  • python由吉多.範羅蘇姆(簡稱:龜叔)在1989年聖誕節期間為打發假期時間創建的
  • python崇尚優美、簡單、清晰
  • 國內python主要應用的公司:豆瓣、知乎
  • python主要應用領域:雲計算、web開發、科學計算、系統運維、金融
  • 1991年第一個編譯器誕生
  • 2004年python2.4 Djiango的誕生具有跨時代的意義

python的優缺點

優點

  • python的定位是優雅、明確、簡單
  • 開發效率非常高—有強大的第三方庫
  • 高級語言
  • 可移植性—可移植性到其他平臺上
  • 可擴展性—可以把部分程序用C或C++編寫,然後在python中使用他們
  • 可嵌入性—可以把python嵌入C或C++程序中

缺點

  • 速度慢
  • 代碼不能加密
  • 線程不能利用多CPU

python的環境

編譯型

編譯型:一次性將所有程序編譯成二進制文件,然後在進行運行

優點:運行速度快

缺點:開發效率低(出現bug需要從頭進行編譯)、不能跨平臺

編譯型語言典型例子:c c++等

解釋性

解釋型:當程序執行時,一行一行的解釋

優點:開發效率高、可以跨平臺

缺點:運行速度慢

解釋型語言典型例子:python、php等等

python是一門動態解釋型的強類型定義語言

python的種類

  • CPython:是使用最廣泛的解釋器
  • IPython:是基於CPython之上的一個交互式解釋器
  • PyPy:他的目標在於執行速度,但是開發效率慢
  • JPython:運行在Java平臺上的python解釋器
  • IronPython:在微軟上運行的python解釋器
  • 這幾種的圖形解釋
    技術分享圖片

    變量

  • 變量就是將一些運算的中間結果暫存到內存中,方便後續代碼的調用
例:name = ‘taibai‘

技術分享圖片

變量的定義規則

  1. 必須由數字、字母、下劃線的任意組合,且不能以數字開頭
  2. 不能是python中的關鍵字
  3. 不能是中文
  4. 變量具有可描述性

變量的定義與賦值(=)

name = ‘jooker‘
num = 1

python中變量賦值不需要類型聲明

每個變量在使用前都必須先賦值,變量賦值以後該變量才會被創建

每個變量在內存中被創建,都包括變量的標識、名稱和數據這些信息

等號(=)用來給變量進行賦值

常量

常量就是一直不變的量,在python中是沒有常量的,但是通常在python的定義中大寫就是常量

例:BIR_OF_CHINA = 19949

註釋

  • 單行註釋:# 被註釋的內容
  • 多行註釋:‘‘‘被註釋的內容‘‘‘或者"""被註釋的內容""""

用戶交互input

  • input出來的數據類型全部都是str
name = input(‘Pls 輸入你的名字:‘)
age = input(‘Pls 輸入你的年齡:‘)
print(name,age)

pycharm的安裝

註意:安裝pycharm時要選擇專業版的而不是社區版的

初識編碼

  • 電腦的傳輸以及數據的存儲都是比特流(二進制的碼流 0101001)
  • 最早的密碼本是ascii碼,涵蓋了英文字母的大小寫、特殊字符和數字
  • 由於ascii碼只能表示256種可能,太少,所以創建了萬國碼unicode
  • unicode中4個字節表示一個中文
  • utf-8是unicode的升級版,用3個字節表示一個中文
  • gbk是國人自己發明的,用2個字節表示一個中文,僅在國內使用
  • 8bit == 1byte
  • 1024byte == 1kb
  • 1024kb == 1MB
  • 1024MB == 1GB

格式化輸出

%

  • %代表占位符
  • %s 代表str
  • %d 代表數字
  • %% 代表單純的%
    例子:
name = input(‘Pls 輸入你的名字:‘)
age = input(‘Pls 輸入你的年齡:‘)
job = input(‘Pls 輸入你工作:‘)
hobbie = input(‘Pls 輸入你的愛好:‘)
msg = ‘‘‘------info of %s------
Name:   %s
Age:    %d
Job:    %s
Hobbie: %s
------end of------
‘‘‘%(name,name,int(age),job,hobbie)
print(msg)

運行結果為:
Pls 輸入你的名字:jooker
Pls 輸入你的年齡:18
Pls 輸入你工作:Operation Engineer
Pls 輸入你的愛好:girl
------info of jooker------
Name:   jooker
Age:    18
Job:    Operation Engineer
Hobbie: girl
------end of------

format

format的三種方法

#對應輸入
s = ‘我叫{},今年{},愛好{},再說一遍,我叫{}‘.format(‘jooker‘,‘18‘,‘girl‘,‘jooker‘)
print(s)
#輸入相應的索引
s = ‘我叫{0},今年{1},愛好{2},再說一遍,我叫{0}‘.format(‘jooker‘,‘18‘,‘girl‘)
print(s)
#以鍵值對輸入,可以打亂順序
s = ‘我叫{name},今年{age},愛好{hobbile},再說一遍,我叫{name}‘.format(age = 18,name = ‘jooker‘,hobbile = ‘girl‘)
print(s)

運行結果為:
我叫jooker,今年18,愛好girl,再說一遍,我叫jooker
我叫jooker,今年18,愛好girl,再說一遍,我叫jooker
我叫jooker,今年18,愛好girl,再說一遍,我叫jooker
name = input(‘Pls 輸入你的名字:‘)
age = input(‘Pls 輸入你的年齡:‘)
hobbile = input(‘Pls 輸入你的愛好:‘)
s = ‘我叫{0},今年{1},愛好{2},再說一遍,我叫{0}‘.format( name,age,hobbile)
print(s)
s = ‘我叫{name},今年{age},愛好{hobbile},再說一遍,我叫{name}‘.format(age = age,name = name,hobbile = hobbile)
print(s)

運行結果為:
Pls 輸入你的名字:jooker
Pls 輸入你的年齡:18
Pls 輸入你的愛好:girl
我叫jooker,今年18,愛好girl,再說一遍,我叫jooker
我叫jooker,今年18,愛好girl,再說一遍,我叫jooker

運算符

邏輯運算符

  • or、and、not
  • 優先級:() > not > and > or
  • x or y:若x非0返回的結果為x
例子:
print(2 > 1 and 1< 4 or 2 < 3 and 9 > 6 or 2 < 4 and 3 < 2)
分析:
2 > 1 and 1< 4 T
2 < 3 and 9 > 6 T
2 < 4 and 3 < 2 F
所以:
T or T or F 
所以結果為:T

基本循環

條件語句:if

語法

第一種if:單選

if 4 > 5 :
    print(‘我請你喝酒‘)
print(‘喝什麽酒‘)

if 4 > 5 :
    print(‘我請你喝酒‘)
else:
    print(‘喝什麽酒‘)

第二種if:多選

num = input(‘Pls 輸入你猜的數字:‘)
if num == ‘1‘ :
    print(‘抽煙‘)
elif num == ‘2‘ :
    print(‘一起喝酒‘)
elif num == ‘3‘ :
    pring(‘新開了一家,走看看去‘)
else:
    print(‘你猜錯了‘)

source = int(input("Pls 輸入你的分數:"))
if source > 100 :
    print(‘哎呀~臥槽 滿分才100分‘)
elif source > 90 :
    print(‘我擦,優秀 牛逼呀‘)
elif source > 70 :
    print(‘中等 一般般‘)
elif source > 60 :
    print(‘剛及格‘)
else:
    print(‘你也太菜了吧,還不及格‘)

第三種if:嵌套

num = input(‘Pls 輸入你猜的數字:‘) 
age = input(‘Pls 輸入你猜的年齡:‘)
if name == ‘小二‘ :
    if age == ‘18‘ :
        print(666)
    else:
        print(‘年齡不對‘)
else:
    print(‘錯了…… 不是本人‘)

循環語句:while

語法

while 條件:
    循環體:

如果條件為真,則循環體執行
如果條件為假,則循環體不執行

無限循環

while True:
    print(‘我們不一樣‘)
    print(‘在人間‘)
    print(‘癢‘)
print(‘222‘)
執行結果是一直循環:
 我們不一樣
 在人間
 癢
  • 執行過程
    技術分享圖片

    終止循環之條件終止

flag = True
count = 1
while flag:
    count += count
    if count > 100:
        flag = False
print(‘結束‘)

終止循環之break

終止整個循環

print(‘11‘)
while True:
    print(‘22‘)
    print(‘33‘)
    break
    print(‘44‘)  # 強制終止循環
print(‘55‘)

運行結果為:
11
22
33
55

終止循環之continue

終止本次循環繼續下次循環

count = 0
while count<=100:
    count += 1
    if count > 5 and count < 95:
        continue
    print(‘loop‘,count)
print(‘------out of while loop------‘)

運行結果為:
loop 1
loop 2
loop 3
loop 4
loop 5
loop 95
loop 96
loop 97
loop 98
loop 99
loop 100
loop 101
------out of while loop------

while else

當循環被break打斷時,不會執行else

count = 0
while count<=5:
    count += 1
    if count == 3:
        pass
    print(‘loop‘,count)
else:
    print(‘循環正常執行完了‘)
print(‘------out of while loop------‘)

運行結果為:
loop 1
loop 2
loop 3
loop 4
loop 5
loop 6
循環正常執行完了
------out of while loop------
count = 0
while count<=5:
    count += 1
    if count == 3:
        break
    print(‘loop‘,count)
else:
    print(‘循環正常執行完了‘)
print(‘------out of while loop------‘)

運行結果為:
loop 1
loop 2
------out of while loop------

for循環(有限的循環)

s = ‘jookerORroot‘
for i in s:
    print(i)

運行結果為:
j
o
o
k
e
r
O
R
r
o
o
t

1 Python基礎