1. 程式人生 > >Python學習(1)——基礎資料型別

Python學習(1)——基礎資料型別

目錄

1、Python的應用

2、Python的優缺點

2.1 優點

2.2缺點

3.使用者輸入

4、格式化輸出

5、資料型別

5.1 bytes

5.2 字串

5.3 列表

5.4 元組

5.5 字典

5.6 集合

6、綜合例項


1、Python的應用

目前Python主要應用領域:

  • 雲端計算: 雲端計算最火的語言, 典型應用OpenStack
  • WEB開發: 眾多優秀的WEB框架,眾多大型網站均為Python開發,Youtube, Dropbox, 豆瓣。。。, 典型WEB框架有Django
  • 科學運算、人工智慧
    : 典型庫NumPy, SciPy, Matplotlib, Enthought librarys,pandas
  • 系統運維: 運維人員必備語言
  • 金融:量化交易,金融分析,在金融工程領域,Python不但在用,且用的最多,而且重要性逐年提高。原因:作為動態語言的Python,語言結構清晰簡單,庫豐富,成熟穩定,科學計算和統計分析都很牛逼,生產效率遠遠高於c,c++,java,尤其擅長策略回測
  • 圖形GUI: PyQT, WxPython,TkInter

Python在一些公司的應用: 

  • 谷歌:Google App Engine 、code.google.com 、Google earth 、谷歌爬蟲、Google廣告等專案都在大量使用Python開發
  • CIA: 美國中情局網站就是用Python開發的
  • NASA: 美國航天局(NASA)大量使用Python進行資料分析和運算
  • YouTube:世界上最大的視訊網站YouTube就是用Python開發的
  • Dropbox:美國最大的線上雲端儲存網站,全部用Python實現,每天網站處理10億個檔案的上傳和下載
  • Instagram:美國最大的圖片分享社交網站,每天超過3千萬張照片被分享,全部用python開發
  • Facebook:大量的基礎庫均通過Python實現的
  • Redhat: 世界上最流行的Linux發行版本中的yum包管理工具就是用python開發的
  • 豆瓣: 公司幾乎所有的業務均是通過Python開發的
  • 知乎: 國內最大的問答社群,通過Python開發(國外Quora)
  • 春雨醫生:國內知名的線上醫療網站是用Python開發的
  • 除上面之外,還有搜狐、金山、騰訊、盛大、網易、百度、阿里、淘寶 、土豆、新浪、果殼等公司都在使用Python完成各種各樣的任務。

2、Python的優缺點

2.1 優點

  1. Python的定位是“優雅”、“明確”、“簡單”,所以Python程式看上去總是簡單易懂,初學者學Python,不但入門容易,而且將來深入下去,可以編寫那些非常非常複雜的程式。
  2. 開發效率非常高,Python有非常強大的第三方庫,基本上你想通過計算機實現任何功能,Python官方庫裡都有相應的模組進行支援,直接下載呼叫後,在基礎庫的基礎上再進行開發,大大降低開發週期,避免重複造輪子。
  3. 高階語言————當你用Python語言編寫程式的時候,你無需考慮諸如如何管理你的程式使用的記憶體一類的底層細節
  4. 可移植性————由於它的開源本質,Python已經被移植在許多平臺上(經過改動使它能夠工 作在不同平臺上)。如果你小心地避免使用依賴於系統的特性,那麼你的所有Python程式無需修改就幾乎可以在市場上所有的系統平臺上執行
  5. 可擴充套件性————如果你需要你的一段關鍵程式碼執行得更快或者希望某些演算法不公開,你可以把你的部分程式用C或C++編寫,然後在你的Python程式中使用它們。
  6. 可嵌入性————你可以把Python嵌入你的C/C++程式,從而向你的程式使用者提供指令碼功能。

2.2缺點

  1. 速度慢,Python 的執行速度相比C語言確實慢很多,跟JAVA相比也要慢一些,因此這也是很多所謂的大牛不屑於使用Python的主要原因,但其實這裡所指的執行速度慢在大多數情況下使用者是無法直接感知到的,必須藉助測試工具才能體現出來,比如你用C運一個程式花了0.01s,用Python是0.1s,這樣C語言直接比Python快了10倍,算是非常誇張了,但是你是無法直接通過肉眼感知的,因為一個正常人所能感知的時間最小單位是0.15-0.4s左右,哈哈。其實在大多數情況下Python已經完全可以滿足你對程式速度的要求,除非你要寫對速度要求極高的搜尋引擎等,這種情況下,當然還是建議你用C去實現的。
  2. 程式碼不能加密,因為PYTHON是解釋性語言,它的原始碼都是以名文形式存放的,不過我不認為這算是一個缺點,如果你的專案要求原始碼必須是加密的,那你一開始就不應該用Python來去實現。
  3. 執行緒不能利用多CPU問題,這是Python被人詬病最多的一個缺點,GIL即全域性直譯器鎖(Global Interpreter Lock),是計算機程式設計語言直譯器用於同步執行緒的工具,使得任何時刻僅有一個執行緒在執行,Python的執行緒是作業系統的原生執行緒。在Linux上為pthread,在Windows上為Win thread,完全由作業系統排程執行緒的執行。一個python直譯器程序內有一條主執行緒,以及多條使用者程式的執行執行緒。即使在多核CPU平臺上,由於GIL的存在,所以禁止多執行緒的並行執行。關於這個問題的折衷解決方法,我們在以後執行緒和程序章節裡再進行詳細探討。

3.使用者輸入

import getpass

# 將使用者輸入的內容賦值給 name 變數
pwd = getpass.getpass("請輸入密碼:")

# 列印輸入的內容
print(pwd)

4、格式化輸出

name = input("name:")
age = input("age:")

"""
格式化輸出1 : .format
"""
info = '''
------------info of {_name}------------
Name:{_name}
Age:{_age}
'''.format(_name=name,_age=age)

"""
格式化輸出2:%
"""
info1 = '''
------------info1 of %s------------
Name:%s
Age:%s
''' %(name,name,age)


"""
格式化輸出3 :+ 連線符號
"""
info2 = "------------info2 of" + name + '''------------
Name:''' + name + '''
Age:'''+ age

print(info)
print(info1)
print(info2)

5、資料型別

5.1 bytes

Bytes 物件只負責以二進位制位元組序列的形式記錄所需記錄的物件,至於該物件到底表示什麼(比如到底是什麼字元)則由相應的編碼格式解碼所決定。

例如:

a='你好'
a_b=a.encode('utf-8')
print(a)
print(a_b)

輸出:

D:\python-3.5\python.exe E:/Python/python/day1/bytes.py
你好
b'\xe4\xbd\xa0\xe5\xa5\xbd'

Process finished with exit code 0

5.2 字串

字串常用功能:

  • 移除空白
a="         lxs     "
print(a.lstrip())   #移除左側空格與tab
print(a.rstrip())   #移除右側空格與tab
print(a.strip())    #移除兩側空格與tab
  • 分割

 

  • 長度
b="abc"
print(len(b))
  • 索引
b="abc"
for i in b:
    print(i)
  • 切片

 

  • 其它

 

5.3 列表

 

5.4 元組

 

5.5 字典

 

5.6 集合

 

6、綜合例項