一、Hello World程序
在Windows終端執行python
C:\Users\renyz02>python Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> print("Hello World") Hello World
二、變量和字符編碼
程序是用來處理數據的,而變量是用來存儲數據的
1、聲明變量(變量的賦值)
name = "ren" print("name")
變量名為:name,變量name的值為:“ren”
2、變量定義的規則
(1)變量名只能是字母、數字、下划線的任意組合
(2)變量名的第一個字符不能是數字
(3)關鍵字不能聲明為變量名
3、命名
(1)見名知意
起一個有意義的名字,盡量做到看一眼就知道是什么意思(提高代碼可讀性) 比如:名字就定義為 name , 定義學生用 student
(2)駝峰命名法
小駝峰式命名法(lower camel case): 第一個單詞以小寫字母開始;第二個單詞的首字母大寫,例如:myName、aDog
大駝峰式命名法(upper camel case): 每一個單字的首字母都采用大寫字母,例如:FirstName、LastName
不過在程序員中還有一種命名法比較流行,就是用下划線“_”來連接所有的單詞,比如send_buf,last_name
Python推薦就是用下划線“_”來連接所有的單詞
4、關鍵字
Python一些具有特殊功能的標識符,這就是所謂的關鍵字.
關鍵字,是Python已經使用的了,所以不允許開發者自己定義和關鍵字相同的名字的標識符。
可以通過以下命令進行查看當前系統中python的關鍵字
import keyword print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
5、字符編碼
python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill)
ASCII(American Standard Code for Information Interchange,美國標准信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個字節),即:2**8 = 256-1,所以,ASCII碼最多只能表示 255 個符號。
顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字符和符號的編碼,即:Unicode
Unicode(統一碼、萬國碼、單一碼)是一種在計算機上使用的字符編碼。Unicode 是為了解決傳統的字符編碼方案的局限而產生的,它為每種語言中的每個字符設定了統一並且唯一的二進制編碼,規定雖有的字符和符號最少由 16 位來表示(2個字節),即:2 **16 = 65536,
注:此處說的的是最少2個字節,可能更多
UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個字節,而是將所有的字符和符號進行分類:ascii碼中的內容用1個字節保存、歐洲的字符用2個字節保存,東亞的字符用3個字節保存...
python解釋器在加載 .py 文件中的代碼時,會對內容進行編碼(默認ascill);應該顯示的告訴python解釋器用什么編碼來執行源代碼。
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Renyz
6、注釋
單行注釋:# 被注釋的內容(Ctrl+/)
多行注釋:'''被注釋的內容'''(三個單引號或三個雙引號)
同時多行字符串必須使用多引號('''字符串內容''')
三、用戶輸入
與用戶交互(在屏幕上顯示用戶輸入的內容)
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Renyz name = input("請輸入您的名字:") passwd = input("請輸入您的密碼:") ----------------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py 請輸入您的名字:ryz 請輸入您的密碼:123 Process finished with exit code 0
輸入密碼時,如果想要密碼不顯示,可以使用getpass模塊中的getpass方法:(該模塊在pycharm中無法使用)
(venv) C:\Users\renyz02\Desktop\py_test1>ipython Python 3.7.3 (v3.7.3:ef4ec6ed12, Mar 25 2019, 22:22:05) [MSC v.1916 64 bit (AMD64)] Type 'copyright', 'credits' or 'license' for more information IPython 7.8.0 -- An enhanced Interactive Python. Type '?' for help. In [1]: import getpass IIn [2]: passwd = getpass.getpass("請輸入密碼:") 請輸入密碼: In [3]: print(passwd) 123
四、輸出函數
1、簡單的輸出
#打印提示 print("Welcome to BeiJing")
2、格式化輸出
程序中經常會有這樣場景:要求用戶輸入信息,然后打印成固定的格式,所以需要用到格式化輸出
# -*- coding:utf-8 -*- # Author: Renyz name = input("name: ") age = int(input("age: "))#integer # print(type(age),type(str(age))) sex = input("sex: ") home_address = input("home_address: ") # 萬惡的 “+” 也可以連接字符串,但效率太低,不建議使用 # 建議使用前兩種 info = ''' -------- info of %s -------- Name:%s Age:%d Sex:%s Home_Address:%s '''%(name,name,age,sex,home_address) info2 = ''' -------- info of {_name} -------- Name:{_name} Age:{_age} Sex:{_sex} Home_Address:{_home_address} '''.format(_name=name,_age=age,_sex=sex,_home_address=home_address) info3 = ''' -------- info of {0} -------- Name:{0} Age:{1} Sex:{2} Home_Address:{3} '''.format(name,age,sex,home_address) print(info3) ------------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/PycharmProjects/untitled/day1/interaction.py name: ryz age: 26 sex: male home_address: shanxi -------- info of ryz -------- Name:ryz Age:26 Sex:male Home_Address:shanxi
%s :字符串占位符:可以接收字符串,也可接收數字
%d :數字占位符:只能接收數字
print('My name is %s,my age is %d' %('test',18))
#注意:
#print('My name is %s,my age is %d' %(name,age)) #age為字符串類型,無法傳給%d,所以會報錯
擴展:
end 關鍵字 關鍵字end可以用於將結果輸出到同一行
print("Hello,",end="") print("World",end="") ——————————————————————————————————— Hello,World
print("\tPython")#\t表示空四個字符,也稱縮進,相當於按一下Tab鍵 print("\nPython\nJAVA\nC++\nJavaScript\nC#")#\n表示換行,相當於按一下回車 print("languages:\n\tPython\n\tJAVA\n\tC++\n\tJavaScript\n\tC#")#\n\t表示換行加每行空四格 ---------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py Python Python JAVA C++ JavaScript C# languages: Python JAVA C++ JavaScript C#
3、換行輸出(\n)
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Renyz name = "Python" age = 18 print("My name is %s,\nMy age is %d"%(name,age)) ------------------------------------------------------------------- C:\Users\renyz02\PycharmProjects\untitled\venv\Scripts\python.exe C:/Users/renyz02/Desktop/py_test1/20190910/output.py My name is Python, My age is 18