前言
python中需要特別注意代碼的縮進,這不是為了可讀性而是正確性,不像 C#,lua ( function do end),js等語言的函式范圍用{}表示,
對于判斷是否包含盡量使用in,而不使用for,具體參考:《Python編程慣例.md》
Non-ASCII character
python報錯“Non-ASCII character '\xe5' ”
解決方法:
在Python源檔案的最開始一行,加入一句
# coding=UTF-8
#或者
# coding:UTF-8 --
變數定義
不需要var 也不要寫型別,直接寫變數名,全域和區域變數都不需要寫型別
變數的定義需要放在使用的前面,可以理解為像C那樣順序執行的,而不像C#,
假如全域和區域名相同,而要特殊宣告使用的是全域變數,則在變數明名前加上 global
x = 100
def func():
global x
print(x)
x = 2
print(x)
func()
print(x)
輸出結果為:
100 2 2
關于變數的詳細可參考這篇文章《python變數(全域、區域):global、nonlocal、locals》
函式定義
def 函式名:
函式內容
回傳值
def sum(a,b):
return a+b,a-b
test1,test2=sum(2,1)
print(test1,test2)
#輸出 3 1
多回傳值,通過,分隔,這點用lua的寫法一樣
可變引數
或者定義成如下: def add(*args):
#可變引數
def calcTotal(nums):
total = 0;
for num in nums:
total = total + num
return total
print(calcTotal((1,2,3)))
#輸出 6
代碼注釋
# 單行注釋
""" 要注釋的內容
多行注釋,三個雙引號連接
"""
輸入與輸出
name=input("請輸入帳號")
pwd=input("請輸入密碼")
print("name:%s,pwd:%s"%(name,pwd))
#輸出
請輸入帳號111
請輸入密碼222
name:111,pwd:222
#用空格連接
print(name,pwd)
111 222
#輸出
【注意引號后面沒有,也沒有空格】
轉義字符后接 %()
資料結構-dict
判斷字典中不存在key
if "skin_name" not in hero:
print("資料例外")
return
資料結構-list
遍歷串列
for k in range(len(skins)):
邏輯控制
If和elif后面加冒號:
沒有++和--
for else一般很少用,當for回圈要退出時要加break
for回圈
for i in range (0,2):
print(i)#列印0,1
類
python類中的方法,需要傳入self,這點和原生的Lua是一樣的,
py檔案執行完不直接退出
在python檔案的未尾添加一行輸入符,等待用戶按下任意鍵才會退出
python執行
python test.py 和python -m test.py 這兩者的區別?
直接運行會將該腳本所在目錄添加至sys.path
當做模塊啟動則會將當前運行命令的路徑添加至sys.path
end=
end=,對于文本中文字本來就是有換行的,如果想在輸出時不換行,可以寫end="",如果不加,那么會多出換行
filepath = r'E:\Code\test.txt'
with open(filepath, mode="r", encoding="utf-8") as f:
for line in f:
print(line)
"""
不加 end=""
第一行
第二行
共三行
"""
"""
加上end=""
第一行
第二行
共三行
"""
常見代碼
tuple 元組
__name__是Python中一個隱含的變數它代表了模塊的名字 只有被Python解釋器直接執行的模塊的名字才是__main__ if __name__ == '__main__':
善于使用in運算子,
if x in items: # 包含
for x in items: # 迭代
in的使用示例:
name = 'Hao LUO'
if 'L' in name:
print('The name has an L in it.')
參考資料
Python3 與 C# 基礎語法對比(就當Python和C#基礎的普及吧)
Python-100-Days (基礎部分看到Day01-15就可以,進階部分可以選擇性看)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/285590.html
標籤:Python
上一篇:自動化記賬程式1.0
