1. 程式人生 > >python3入門與進階(一)

python3入門與進階(一)

最近學習了python3的語法,整理記錄一下;
語法是程式設計的先決條件,精通語法是編好程式的必要條件;

導語

在python程式設計的世界裡面,廣為傳頌的名言:Life is Simple ,I Use Python;python語言相對於其他語言來說,最大的特點是:簡潔。為什麼呢?來看一個變數互動的例子:

# 很多語言中,需要一個臨時變數來交換
temp = x
x = y
y = temp

#  在python中
x,y = y,x

python的功能很強大,可以做爬蟲,自動化運維與自動化測試,大資料與資料分析(Spark),AI(機器學習 Tensor Flow),Web開發(Flask,Django),指令碼處理。還可以跨平臺執行,是面向物件的語言,又有動態指令碼的特性(和Javascript一樣,屬於解釋型語言,不用編譯成二進位制檔案;編譯型語言會編譯成二進位制檔案供機器執行,相對而言執行效率高)。

python語言也被稱作為:膠水語言,可以混合其他如C++,Java等來程式設計;可以把其他語言製作的各種模組(尤其是C/C++)很輕鬆的聯結在一起。

很喜歡的兩句話:

#  python 之禪
Simple is better than complex.
簡潔勝於複雜;
這和Steve Jobs的蘋果系列產品的理念是一致的

Now is better than never. Although never is often better than right now.
做也許好過不做,但不假思索就動手還不如不做;
勤于思考,分析導致問題的原因,不做無用功
  • 程式設計是為了解決我們的問題而存在的一個工具。
  • 當遇到問題的時候,隨手拿起python,編寫一個工具,這才是python正確的開啟方式
  • 什麼是紮實的程式設計功底:資料結構才是基礎

基礎語法

程式碼:是現實世界事物在計算機世界中的對映
寫程式碼:是將現實世界中的事物用計算機語言來描述

在計算機中,怎麼樣來表示現實世界的事物?
  • 基本資料型別
基本資料型別

基本資料型別
- Number(數字)
- 整數:int
- 浮點數:float
- 布林:bool
- 複數:complex
- Str(字串)
- List(列表)
- Tuple(元組)
- Sets(集合)
- Dict(字典)

python3中的浮點數不分精度(單/雙),整型不分短和長(short / long);布林值一定是大寫的True / False;列表使用[ ],元組使用( ),集合使用{ },字典使用{ k:v }

type(1+1.0)  # 1.1 float
type(2 / 2) #  1.0  float
type(2 // 2)  #  1  int

a = 123 # 不需要寫變數的型別
isinstance(a,int) # True

上面程式碼裡面,type()函式來檢查變數的資料型別,也可以使用isinstance來判斷一個變數是否屬於這個型別;區別在於:

type()不會認為子類是一種父類型別。

isinstance()會認為子類是一種父類型別。

/:表示除法,結果自動轉為float型別;
//:表示整除,求的是整數部分,不會四捨五入;
宣告變數不需要在前面寫上變數的型別,直接寫一個變數名就行,不像其他語言要標明資料型別,或者是寫上var/ let/ const

字串,元組,列表

字串是不可變的;這三種都是有序的
- 重複表示

print("icessun"*3)
>>> 'icessunicessunicessun'

# 元組的重複 元組裡面可以有不同的資料型別  (1,‘1’,True)123)*3
>>> (1,2,3,1,2,3,1,2,3)

# 元組使用+相加
(1,2,3)+(2,3,4)
>>> (1,2,3,2,3,4)

# 列表的重複
['ice','icess']*3
>>> ['ice','icess','ice','icess','ice','icess']
  • 切片操作

    [起始位置,長度];


擷取從起始位置,長度個字元;
長度負數表示刪除從字串末尾往前數的字元個數;
長度省略表示到末尾;
長度要是超過可擷取的位數,以可擷取的位數為標準;
a = 'icessun'

print(a[0:4])
>>> 'ices'

print(a[0:-2])
>>> 'icess'

print(a[0:])
>>> 'icessun'

print(a[1:-0])
>>> '  '   # 表示截取了一個空字串

print(a[1:0])
>>> '  '   # 表示截取了一個空字串

print(a[:-4])
>>> 'ice'  

print(a[-4:])
>>> 'ssun'   # 起始位置為負數是表示從末尾開始數(從1開始數)到末尾,要是起始位置是負數,那麼步長一定省略,否者得到的是空字串
  • 內部元素的訪問
# 都是通過索引來訪問的
"icessun"[0]
>>>  'i'

['a','b','c'][0]
>>>  'a'

('a',2,True)[2]
>>> True 

# 都可以使用len()這個函式來求長度
  • 單一的字串索引操作得到的是字串,但是一個列表的切片操作得到的是一個列表
a = 'icessun'

type(a[0:4])
>>>  <class 'str'>

["ice","icess","icessun"][0]
>>> 'ice'  # 是字串

["ice","icess","icessun"][0:2]
>>> ["ice","icess"]  # 是列表
  • 注意
type( (1) )  
>>> <class 'int'>

type( ('a') )  
>>> <class 'str'>

一般來說:( )可以表示元組,也可以表示數學運算的優先順序;所以當想表示一個只有一個元素的元組,應該這樣:( (1,) );在元素的 後面加上一個逗號;表示一個空的元組:( ( ) )

集合

無序的,不能通過索引訪問,裡面的元素不重複
- 判斷一個元素是否在集合裡面,這個方法也適合上面的資料型別

1 in {1,2}
>>> True

3 not in {1,2,3,4}
>>> False
  • 集合的操作
# 集合的差集  去掉相同的元素,以前面集合為標準,從一個集合裡面去掉後面集合特有的元素123}-{23>>> {1}
{123}-{4>>> {123}
{1}-{423>>> {1}

# 集合的交集 找兩個集合的公有元素123}&{23>>> {23}
{13}&{2>>> set( )  # 表示空集  len(set()) -----> 0

# 集合的並集 把兩個集合合併在一起,按照從前往後的順序,去掉相同的元素124}|{23>>> {1,2,4,3}
  • 注意
# 空集合的表示
set()

字典

{ key : value},鍵值對的形式,類似於Javascript中的物件
- key的取值是不可變的型別:int,str,元組
- 空的字典:{ }

相關推薦

python3入門()

最近學習了python3的語法,整理記錄一下; 語法是程式設計的先決條件,精通語法是編好程式的必要條件; 導語 在python程式設計的世界裡面,廣為傳頌的名言:Life is Simple ,I Use Python;python語言相對

Python3入門筆記():基本型別

Python的基本型別Number:數字int 和 float       python3中的整型只有int,小數只有float.。type函式可以用來檢視型別。       /表示小數除法,例如2/2=1.0,type(2/2)是float。       //表示整數除法,

思維導圖版Python3入門)基本資料型別

前言    自己也是在摸打滾爬中在慢慢的學習python3這門語言,之前是java開發,到後來轉向python的學習,因為python語言對於資料處理方面還是異常強大。學習語言,自己的心得還是要多實踐,最好是先打好基礎,然後自己嘗試著拿來使用,變成自己的東西才是最重要的。話不

Python3入門【筆記】

1、二、八、十六進位制轉十進位制:int('10', base=2)、int('10', base=8)、int('10', base=16); 2、八、十、十六進位制轉二進位制:bin(0o+xxx)、bin(xxx)、bin(0x+xxx); 3、二、十、十六進位制轉八進位制:oct(0b+xxx)、

python3入門(三)

模組和類 一個專案的基本的組織結構:包(資料夾)—–>模組(檔案)—–>類—–>函式,變數; 模組:就是包含一定功能的檔案 - 使用import關鍵字匯入模組,這種

Python3入門筆記(三):迴圈

表示式的優先順序:    例:        a=1        b=2        c=2        not a or b + 2 == c + 2 結果為 True,等價於 ( ( not a ) or ( b + 2 ) ) == ( c + 2 )迴圈    

[Python3入門]8 函式

目錄 8-1認識函式 函式的作用 函式的作用 1 功能性 2 隱藏細節 3 避免編寫重複的程式碼 4 組織程

Python3入門(自學後端)

│       ├─第1章 Python入門導學 │      第1章 Python入門導學.mp4 │       ├─第2章 Python環境安裝 │      第2章 Python環境安裝.mp4 │       ├─第3章 理解什麼是寫程式碼與Python的基本型別

Kotlin系統入門

一、什麼是Kotlin? Kotlin就是一門可以執行在Java虛擬機器、Android、瀏覽器上的靜態語言,他與Java 100%相容,如果對Java熟悉,可以發現Kotlin擁有自己

Wireshark入門系列十之SSL分析

0x00 前言    Wireshark(前稱Ethereal)中文版是一個網路封包分析軟體。網路封包分析軟體的功能是擷取網路封包,並儘可能顯示出最為詳細的網路封包資料。Wireshark使用WinPCAP作為介面,直接與網絡卡進行資料報文交換。本文著重分析wireshar

Python第三方庫jieba(結巴-中文分詞)入門(官方文檔)

修改 demo 特點 pypi nlp CA 動態修改 tag 官方文檔 jieba “結巴”中文分詞:做最好的 Python 中文分詞組件。下載地址:https://github.com/fxsjy/jieba 特點 支持三種分詞模式: 精確模式,試圖將句子最精確地

全新升級 Kotlin系統入門

pan 內部類 區間 進階 什麽是 前端 則表達式 常見 read 第1章 課程介紹(需具備Java基礎)本章主要介紹什麽是Kotlin,課程安排,以及開發環境的配置。第2章 數據類型(難度系數:☆)本章主要講解 Kotlin 的基本詞法,從類型系統入手為大家介紹 Kotl

玩轉資料結構入門——第一章:陣列

內容大綱: 使用Java中的陣列 二次封裝屬於我們自己的陣列 向陣列中新增元素 陣列中查詢元素和修改元素 包含,搜尋,刪除功能 使用泛型 動態陣列 簡單的時間複雜度分析 均攤複雜度和防止複雜度振盪 一、java中的陣列 把資

知乎live筆記03 前端工程師的入門

主講人對頁面的效果(酷炫)非常不在意,甚至是鄙視 入門方向的引導有作用,進階幫助有限 乾貨有限,比如模組化開發的問題,只回答了要注意名稱空間,不要讓變數名衝突,很不深入。 沒有主線,已回答問題為主,並且很多問題都沒有回答到點子上 如何快速成長?回答是要多學習,要加入真正技術型的公

python入門篇(二)之變數和運算子

變數 變數的命名規則:    字母、數字、下劃線組成,   系統關鍵字不能在變數名中 如and、if、import   變數名區分大小寫   變數沒有型別限制 同js   系統方法名建議不用來做變數名,避免造成衝突 如type print   Int str t

python入門篇(四)之包、模組、函式變數作用域

python專案的組織結構 包(資料夾)-->模組(檔案)-->類-->函式和變數   seven.c4、six.c4:(seven)包名.模組名(c4) 構成名稱空間 seven包的結構: seven    --t(子包)        --

python入門篇(六)之高階語法及用法

    高階知識針對包、類庫的開發者,函式只是一段可執行的程式碼 並不是物件,閉包、函數語言程式設計 閉包=函式+環境變數 a=10 def outer(): a=25 def inner(x): print(a*x*x) retu

全網首門-Kotlin系統入門(全網升級)

完整版 請聯絡QQ 8960531 第1章 課程介紹(需具備Java基礎) 本章主要介紹什麼是Kotlin,課程安排,以及開發環境的配置。專案實戰移步–>《Kotlin打造完整電商APP 模組化+MVP+主流框架》:http://coding.imooc.

淺談fpga入門

如果你要學習fpga,我想你需要明白幾個問題。 1、你為什麼學習fpga? 2、什麼是fpga? 3、該怎麼去學習fpga? 如果你明白了這幾個問題,我想 你能很快的入門並且學好fpga。 “為什麼學fpga那肯定是自己有自己的想法,但是我想說如果你選擇了學習fpga,那麼你就要學會堅持,因

[轉載]springboot中ElasticSearch入門:組合查詢、Aggregation聚合查詢(你想要的都有)

原文:https://blog.csdn.net/topdandan/article/details/81436141 1.springboot中配置elasticSearch 1.1在工程中引入相關的jar包   1.1.1 在build.gradle中新增需要的jar包       我建立的gradle工