python基礎1

来源:http://www.cnblogs.com/guotg/archive/2016/11/17/6073974.html

一、Python安裝1、下載安裝包 https://www.python.org/downloads/2、安裝 預設安裝路徑:C:\python273、配置環境變數 【右鍵電腦】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一 ...


一、Python安裝
1、下載安裝包
https://www.python.org/downloads/
2、安裝
預設安裝路徑:C:\python27
3、配置環境變數
【右鍵電腦】--》【屬性】--》【高級系統設置】--》【高級】--》【環境變數】--》【在第二個內容框中找到 變數名為Path 的一行,雙擊】 --> 【Python安裝目錄追加到變值值中,用 ; 分割】
如:原來的值;C:\python27,切記前面有分號


二、Hello World程式
1、在linux 下創建一個文件叫hello.py,並輸入

print("Hello World!")
然後執行命令:python hello.py ,輸出

2、指定解釋器

上一步中執行 python hello.py 時,明確的指出 hello.py 腳本由 python 解釋器來執行。
如果想要類似於執行shell腳本一樣執行python腳本,例: ./hello.py ,那麼就需要在 hello.py 文件的頭部指定解釋器,如下:

#!/usr/bin/env python
print "hello,world"

如此一來,執行: ./hello.py 即可。

ps:執行前需給予 hello.py 執行許可權,chmod 755 hello.py


三、變數
1、聲明變數:
#_*_coding:utf-8_*_
name = "Guo"
上述代碼聲明瞭一個變數,變數名為: name,變數name的值為:"Guo" 

2、變數定義的規則:
變數名只能是 字母、數字或下劃線的任意組合
變數名的第一個字元不能是數字
以下關鍵字不能聲明為變數名
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

3、變數的賦值:
name = "Guo"
name2 = name
print(name, name2)

name = "tg"
print(name, name2)


四、字元編碼
python解釋器在載入 .py 文件中的代碼時,會對內容進行編碼(預設ascill)

ASCII(American Standard Code for Information Interchange,美國標準信息交換代碼)是基於拉丁字母的一套電腦編碼系統,主要用於顯示現代英語和其他西歐語言,其最多只能用 8 位來表示(一個位元組),即:2**8 = 256-1,所以,ASCII碼最多只能表示 255 個符號。

1、關於中文

為了處理漢字,程式員設計了用於簡體中文的GB2312和用於繁體中文的big5。

GB2312(1980年)一共收錄了7445個字元,包括6763個漢字和682個其它符號。漢字區的內碼範圍高位元組從B0-F7,低位元組從A1-FE,占用的碼位是72*94=6768。其中有5個空位是D7FA-D7FE。
GB2312 支持的漢字太少。1995年的漢字擴展規範GBK1.0收錄了21886個符號,它分為漢字區和圖形符號區。漢字區包括21003個字元。2000年的 GB18030是取代GBK1.0的正式國家標準。該標準收錄了27484個漢字,同時還收錄了藏文、蒙文、維吾爾文等主要的少數民族文字。現在的PC平臺必須支持GB18030,對嵌入式產品暫不作要求。所以手機、MP3一般只支持GB2312。

從ASCII、GB2312、GBK 到GB18030,這些編碼方法是向下相容的,即同一個字元在這些方案中總是有相同的編碼,後面的標準支持更多的字元。在這些編碼中,英文和中文可以統一地處理。區分中文編碼的方法是高位元組的最高位不為0。按照程式員的稱呼,GB2312、GBK到GB18030都屬於雙位元組字元集 (DBCS)。

有的中文Windows的預設內碼還是GBK,可以通過GB18030升級包升級到GB18030。不過GB18030相對GBK增加的字元,普通人是很難用到的,通常我們還是用GBK指代中文Windows內碼。

2、顯然ASCII碼無法將世界上的各種文字和符號全部表示,所以,就需要新出一種可以代表所有字元和符號的編碼,即:Unicode
Unicode(統一碼、萬國碼、單一碼)是一種在電腦上使用的字元編碼。Unicode 是為瞭解決傳統的字元編碼方案的局限而產生的,它為每種語言中的每個字元設定了統一併且唯一的二進位編碼,規定雖有的字元和符號最少由 16 位來表示(2個位元組),即:2 **16 = 65536,
註:此處說的的是最少2個位元組,可能更多

UTF-8,是對Unicode編碼的壓縮和優化,他不再使用最少使用2個位元組,而是將所有的字元和符號進行分類:ascii碼中的內容用1個位元組保存、歐洲的字元用2個位元組保存,東亞的字元用3個位元組保存...

所以,python解釋器在載入 .py 文件中的代碼時,會對內容進行編碼(預設ascill),如果是如下代碼的話:

報錯:ascii碼無法表示中文
#!/usr/bin/env python
print "你好,世界"

改正:應該顯示的告訴python解釋器,用什麼編碼來執行源代碼,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
print "你好,世界"

3、pycharm添加模板:
pycharm添加模板:File --> Settings --> Editor --> File and Code Templates --> Python Script
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Author: gtg


五、註釋
  當前行註視:# 被註釋內容
  多行註釋:""" 被註釋內容 """


六、用戶輸入
#!/usr/bin/env python
#_*_coding:utf-8_*_
#name = raw_input("What is your name?") #only on python 2.x
name = input("What is your name?")
print("Hello " + name )

輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import getpass
# 將用戶輸入的內容賦值給 name 變數
pwd = getpass.getpass("請輸入密碼:")
# 列印輸入的內容
print(pwd)

用戶輸入格式化字元串代碼:

name = input("you name:")
age = int(input("you age:"))
work = input("you word:")

msg = '''infomation of user %s:
---------
name:%s
age:%d
work:%s
---end---
''' % (name, name, age, work)
print(msg)

%s:字元串    %d:整數    %f:浮點數

 


七、模塊初識:
1、getpass模塊:
輸入密碼時,如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:
代碼:(pycharm下不好使)
import getpass
username = input("username:")
password = getpass.getpass("password")
print(username,password)

2、os模塊:
import os
os.system("df -h")
os.mkdir("pythondir") linux上創建目錄
cmd_res = os.popen("df -h").read() 把命令執行結果保存到變數中

3、sys模塊:
import sys
print(sys.path)


八、if else語句:
1、用戶名密碼代碼:

user = "gtg"
passwd = "123"

username = input("your name:")
password = input("your password:")

if user == username and passwd == password:
print("Welcom Login")
else:
print("username or password ERROR")

2、猜數字游戲代碼:

age = 26
for i in range(10):
if i < 3:
guess_num = int(input("guess number is:"))
if guess_num == age:
print("OK")
break
elif guess_num > age:
print("BIG")
else:
print("SMALL")
else:
print("QUIT")
break

猜數字游戲代碼優化代碼:

age = 26
count = 0
for i in range(10):
if count < 3:
guess_num = int(input("guess number is:"))
if guess_num == age:
print("OK")
break
elif guess_num > age:
print("BIG")
else:
print("SMALL")
else:
continue_confirm = input("want to continue:")
if continue_confirm == 'y':
count = 0
continue
else:
print("QUIT")
break
count +=1

 


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

更多相關文章
  • note eight 使用元類 動態語言和靜態語言最大的不同,就是函數和類的定義,不是編譯時定義的,而是運行時動態創建的。 程式的調試用logging 模塊 import logging 單元測試 為了編寫單元測試,我們需要引入pytho... ...
  • 題:輸入一個數字,轉換成中文大寫的寫法 可運行的程式(Python 2.7.9): 註:剛剛學習的初級程式寫法,有很多不全的地方,比如:1.輸入“082”開頭是0的數字一樣會輸出“零佰扒拾貳”,應該需要更多的判斷語句;2.輸入“034354”會直接報錯,應該沒有加異常處理造成的結果。 後續會繼續學習 ...
  • 1991年1月 Sun公司成立了Green項目小組,專攻智能家電的嵌入式控制系統 1991年2月 放棄C++,開發新語言,命名為“Oak” 1991年6月 JamesGosling開發了Oak的解釋器 1992年 Green完成了Green操作系統、Oak語言、類庫等開發 1992年11月 Gree ...
  • Math.random() 生成[0, 1)範圍內的double類型隨機數 。線程安全,多線程環境能被調用。 (int)(Math.random()*n) 生成 [0 , n) 之間的隨機整數。 比如 (int)(Math.random()*100) 生成 [ 0, 100 ) 之間的隨機整數。 如 ...
  • 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #!/usr/bin/env python # -*- coding: utf-8 -*- """ Created on Mon Nov 14 01:01:29 2016 @ ...
  • 把php中的excel顯示下載頁下載到本地硬碟需要設置頭信息: 代碼: ...
  • Gradle是一種自動化建構工具,使用DSL來聲明項目設置。通過Gradle,可以對項目的依賴進行配置,並且自動下載所依賴的文件,使得構建項目的效率大大提高。 1. 安裝Gradle 下載Gradle的最新版本,並解壓,設置環境變數GRADLE_HOME,並且將%GRADLE_HOME%\bin添加 ...
  • 在面向對象的編程中,通常把用類創建對象的過程稱為實例化。 類名 對象名 = new 類名(參數1,參數2...參數n); 如 Date date=new Date();就是用日期類創建了一個日期的對象,就叫對象的實例化。 多數語言中,實例化一個對象 就是為對象開闢記憶體空間,或者是不用聲明,直接使用 ...
一周排行
  • 比如要拆分“呵呵呵90909086676喝喝999”,下麵當type=0返回的是中文字元串“呵呵呵,喝喝”,type=1返回的是數字字元串“90909086676,999”, private string GetStrings(string str,int type=0) { IList<strin ...
  • Swagger一個優秀的Api介面文檔生成工具。Swagger可以可以動態生成Api介面文檔,有效的降低前後端人員關於Api介面的溝通成本,促進項目高效開發。 1、使用NuGet安裝最新的包:Swashbuckle.AspNetCore。 2、編輯項目文件(NetCoreTemplate.Web.c ...
  • 2020 年 7 月 30 日, 由.NET基金會和微軟 將舉辦一個線上和為期一天的活動,包括 微軟 .NET 團隊的演講者以及社區的演講者。本次線上大會 專註.NET框架構建微服務,演講者分享構建和部署雲原生應用程式的最佳實踐、模式、提示和技巧。有關更多信息和隨時瞭解情況:https://focu... ...
  • #abp框架Excel導出——基於vue #1.技術棧 ##1.1 前端採用vue,官方提供 UI套件用的是iview ##1.2 後臺是abp——aspnetboilerplate 即abp v1,https://github.com/aspnetboilerplate/aspnetboilerp ...
  • 前言 本文的文字及圖片來源於網路,僅供學習、交流使用,不具有任何商業用途,版權歸原作者所有,如有問題請及時聯繫我們以作處理。 作者:碧茂大數據 PS:如有需要Python學習資料的小伙伴可以加下方的群去找免費管理員領取 input()輸入 Python提供了 input() 內置函數從標準輸入讀入一 ...
  • 從12年到20年,python以肉眼可見的趨勢超過了java,成為了當今It界人人皆知的編程語言。 python為什麼這麼火? 網路編程語言搜索指數 適合初學者 Python具有語法簡單、語句清晰的特點,這就讓初學者在學習階段可以把精力集中在編程對象和思維方法上。 大佬都在用 Google,YouT ...
  • 在社會上存在一種普遍的對培訓機構的學生一種歧視的現象,具體表現在,比如:當你去公司面試的時候,一旦你說了你是培訓機構出來的,那麼基本上你就涼了,那麼你瞞著不說,然後又通過了面試成功入職,但是以後一旦在公司被髮現有培訓經歷,可能會面臨被降薪,甚至被辭退,培訓機構出來的學生,在用人單位眼裡就是能力低下的 ...
  • from typing import List# 這道題看了大佬寫的代碼,經過自己的理解寫出來了。# 從最外圍的四周找有沒有為O的,如果有的話就進入深搜函數,然後深搜遍歷# 判斷上下左右的位置是否為Oclass Solution: def solve(self, board: List[List[s ...
  • import requests; import re; import os; # 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, li ...
  • import requests; import re; import os; import parsel; 1.請求網頁 header = { "user-agent":'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537. ...