Python 學習之路(一)

来源:https://www.cnblogs.com/CodeHu/archive/2018/02/08/8432971.html
-Advertisement-
Play Games

Python 學習之路(一) 以下所用的是Python 3.6 一、編碼問題 二、基礎知識 2.1 標識符 在 Python 里,標識符由字母、數字、下劃線組成。 在 Python 中,所有標識符可以包括英文、數字以及下劃線(_),但不能以數字開頭。 Python 中的標識符是區分大小寫的。 2.2 ...


Python 學習之路(一)

以下所用的是Python 3.6

一、編碼問題

  1. 涉及到中文的部分需要使用UTF-8編碼。 使用PyCharm:File->Settings->Editor->File Encoding 在Global Encoding和Project Encoding和Default encoding for properties file 選擇UTF-8編碼。
  2. 在開頭加上# -*- coding:utf-8 -*- ,指定為UTF-8編碼。

二、基礎知識

2.1 標識符

在 Python 里,標識符由字母、數字、下劃線組成。 在 Python 中,所有標識符可以包括英文、數字以及下劃線(_),但不能以數字開頭。 Python 中的標識符是區分大小寫的。

2.2 腳本編程

  1. PyCharm直接寫腳本
  2. 命令行輸入代碼
print("Hello, Python!");
  1. 可以編寫.py文件,用命令行運行
python HelloWorld.py

2.3 保留字元

所有 Python 的關鍵字只包含小寫字母

and    exec    not
assert    finally    or
break    for    pass
class    from    print
continue    global    raise
def    if    return
del    import    try
elif    in    while
else    is    with
except    lambda    yield

 

2.4 行和縮進

Python與其他語言最大的區別就是,Python 的代碼塊不使用大括弧 {} 來控制類,函數以及其他邏輯判斷。python 最具特色的就是用縮進來寫模塊。 縮進的空白數量是可變的,但是所有代碼塊語句必須包含相同的縮進空白數量,這個必須嚴格執行。 這個錯誤就是縮緊導致:IndentationError: unexpected indent

2.5 多行語句

Python語句中一般以新行作為為語句的結束符。 但是我們可以使用斜杠( \)將一行的語句分為多行顯示。 語句中包含 [], {} 或 () 括弧就不需要使用多行連接符。

2.6 引號的使用

Python 可以使用引號( ' )、雙引號( " )、三引號( ''' 或 """ ) 來表示字元串,引號的開始與結束必須的相同類型的。 其中三引號可以由多行組成,編寫多行文本的快捷語法,常用於文檔字元串,在文件的特定地點,被當做註釋。

2.7 註釋語法

單行註釋:在開頭加上#,表示註釋 多行註釋:

'''
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
這是多行註釋,使用單引號。
'''

2.8 空行語法

空行是程式代碼的一部分,為了方便代碼的維護和構。

2.9 輸入輸出

username = input("username:")
print(username)

多行格式化輸出:

info = '''
------------info %s -----------
name:%s 
age:%s
job:%s
''' % (name,name,age,job)

info2 = '''
------------info {name} -----------
name:{name} 
age:{age}
job:{job}
'''.format(name=name,
           age=age,
           job=job)

三、變數類型

3.1 基本類型

counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = "John" # 字元串
a,b,c=100,1000.0,"John"#多變數賦值

3.2 數字類型

數字數據類型用於存儲數值。 他們是不可改變的數據類型,這意味著改變數字數據類型會分配一個新的對象。Python支持四種不同的數字類型: int(有符號整型) long(長整型[也可以代表八進位和十六進位]) float(浮點型) complex(複數)用complex(a,b)

可以使用del 來刪除對象的引用。

del var
del var_a, var_b

3.3 字元串

s = "hello world" #或者s = 'hello world'
print(s)           # 輸出完整字元串
print(s[2:5])      # 輸出字元串中第三個至第五個之間的字元串
print(s * 2)       # 輸出字元串兩次
print(s + "TEST")  # 輸出連接的字元串

加號(+)是字元串連接運算符,星號(*)是重覆操作。

3.4 列表

list = ['runoob', 786, 2.23, 'john', 70.2]
tinylist = [123, 'john']

print(list)  # 輸出完整列表
print(list[0])  # 輸出列表的第一個元素
print(list[1:3]) # 輸出第二個至第三個元素
print(list[2:])  # 輸出從第三個開始至列表末尾的所有元素
print(tinylist * 2)  # 輸出列表兩次
print(list + tinylist)  # 列印組合的列表

3.5 元組

tuple = ('runoob', 786, 2.23, 'john', 70.2)
tinytuple = (123, 'john')

print(tuple)  # 輸出完整元組
print(tuple[0])  # 輸出元組的第一個元素
print(tuple[1:3])  # 輸出第二個至第三個的元素
print(tuple[2:])  # 輸出從第三個開始至列表末尾的所有元素
print(tinytuple * 2)  # 輸出元組兩次
print(tuple + tinytuple)  # 列印組合的元組

3.6 字典

dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"

tinydict = {'name': 'john', 'code': 6734, 'dept': 'sales'}

print(dict['one'])  # 輸出鍵為'one' 的值
print(dict[2])  # 輸出鍵為 2 的值
print(tinydict)  # 輸出完整的字典
print(tinydict.keys())  # 輸出所有鍵
print(tinydict.values())  # 輸出所有值

3.7 數據類型轉換

函數描述
int(x [,base]) 將x轉換為一個整數
long(x [,base] ) 將x轉換為一個長整數
float(x) 將x轉換到一個浮點數
complex(real [,imag]) 創建一個複數
str(x) 將對象 x 轉換為字元串
repr(x) 將對象 x 轉換為表達式字元串
eval(str) 用來計算在字元串中的有效Python表達式,並返回一個對象
tuple(s) 將序列 s 轉換為一個元組
list(s) 將序列 s 轉換為一個列表
set(s) 轉換為可變集合
dict(d) 創建一個字典。d 必須是一個序列 (key,value)元組。
frozenset(s) 轉換為不可變集合
chr(x) 將一個整數轉換為一個字元
unichr(x) 將一個整數轉換為Unicode字元
ord(x) 將一個字元轉換為它的整數值
hex(x) 將一個整數轉換為一個十六進位字元串
oct(x) 將一個整數轉換為一個八進位字元串

四、運算符

Python中的運算符:算術運算符, 比較(關係)運算符, 賦值運算符, 邏輯運算符, 位運算符, 成員運算符, 身份運算符, 運算符優先順序。

4.1 算數運算符

+,-,*,/,%,*(表示冪,a*b,a的b次冪),//()取商,10//4,返回2)

4.2 比較運算符

==,!=,<>,>,<,>=,<=

4.3 賦值運算符

=,+=,-=,*=,/=,%=,**=,//=

4.4 位運算符

& , | , ^(按位異或運算符, ~(按位取反運算符), << , >>

4.5 邏輯運算符

and , or , not

4.6 成員運算符

in(如果在指定的序列中找到值返回 True,否則返回 False。), not in (如果在指定的序列中沒有找到值返回 True,否則返回 False。)

4.7 身份運算符

is(is 是判斷兩個標識符是不是引用自一個對象), is not (is not 是判斷兩個標識符是不是引用自不同對象)

4.8 運算符優先順序

運算順序由優先順序由高到底運行

運算符描述
** 指數 (最高優先順序)
~ + - 按位翻轉, 一元加號和減號 (最後兩個的方法名為 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法減法
>> << 右移,左移運算符
& 位 'AND'
^ | 位運算符
<= < > >= 比較運算符
<> == != 等於運算符
= %= /= //= -= += *= **= 賦值運算符
is, is not 身份運算符
in, not in 成員運算符
not, or and 邏輯運算符

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 上一篇介紹了Servlet初始化,以及如何處理HTTP請求,實際上在這兩個過程中,都伴隨著Servlet的生命周期,都是Servlet生命周期的一部分。同時,由於Tomcat容器預設是採用單實例多線程的方式處理多個請求,這一特性就導致了線程安全問題的存在。因此,本篇主要講述Servlet生命周期與線 ...
  • 一、整體流程 1、客戶端註冊Watcher 2、服務端處理Watcher 3、客戶端回調Watcher 二、Watcher 通知狀態與事件類型 state type path WatcheEvent 只有三個屬性 state type path 不會告訴原始數據內容和更新內容,需要client再次主 ...
  • "minio java client" 使用okhttp作為底層的http實現,在產品包裡面區域網上傳文件的速度一直只有400~800KB/s,經過一天排查發現是 禁用了即時編譯導致。 發現問題的場景 minio java的使用架構圖是這樣的: [Minio Server] ...
  • Python擅長的領域: WEB開發:Django\pyramid\Tornado\Bottle\Flask\WebPy網路編程:Twisted\Requests\Scrapy\Paramiko科學運算:SciPy\Pandas\IpythonGUI圖形開發:wxPythin\PyQT\Kivy運維 ...
  • 1.1 基於UDP協議實現簡單的套接字通信 udp是無鏈接的,先啟動哪一端都不會報錯 udp套接字簡單示例 1.1.1.1 客戶端: from socket import * client=socket(AF_INET,SOCK_DGRAM) #數據報協議,創建一個客戶的套接字 while True ...
  • 在python中,可以使用try...except語句來處理異常。做法是,把可能引發異常的語句放在try 塊中,把處理異常的語句放在except 塊中。 當程式在try內部打開文件引發異常時,會跳過try中剩下的代碼,直接跳轉到except中的語句處理異常。於是輸出了“File not exists ...
  • Python讀寫csv文件 覺得有用的話,歡迎一起討論相互學習~ "Follow Me" 前言 逗號分隔值(Comma Separated Values,CSV,有時也稱為字元分隔值,因為分隔字元也可以不是逗號),其文件以純文本形式存儲表格數據(數字和文本)。純文本意味著該文件是一個字元序列,不含必 ...
  • 前言 在上一篇 "Kafka使用Java實現數據的生產和消費demo" 中介紹如何簡單的使用kafka進行數據傳輸。本篇則重點介紹kafka中的 consumer 消費者的講解。 應用場景 在上一篇kafka的consumer消費者,我們使用的是自動提交offset下標。 但是offset下標自動提 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...