日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

Python学习---Python安装与基础1205

發(fā)布時間:2025/7/14 python 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python学习---Python安装与基础1205 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.0. 安裝

1.1.1. 下載

官網下載地址:https://www.python.org/downloads/release/python-352/

?

1.1.2. 配置環(huán)境變量

因為在安裝的時候我們選擇了添加python到環(huán)境變量,所以默認安裝好的,沒有的可以手動更改。

環(huán)境變量,添加路徑到path即可,注意封號

?

【更多參考】Python學習---Python環(huán)境變量安裝問題0907

1.1.3. python 2 vs 3

1. 默認支持中文

2. 不兼容2.x

3. 核心語法調整,更易學

4. 新特性默認只在3.x上有

2.x = 默認編碼 =ASSIC =不支持

3.x = 默認編碼 =UNICODE =默認支持中文

Py2中只有2種數據類型:str? unicode [其中str中保存的是bytes, unicode里面保存的是unicode]

Py3中只有2種數據類型:str? bytes

Py3中合并Py2中的int和long int類型為int類型

1.1.4. 系統位數

32bit =內存的最大尋址空間是2**32, 4GB

64bit, =2**64 但實際上支持不到這莫大的內存,2**4x, 目前主板支持的最大的內存是100多GB

4gb ==64位系統 會不會比32位系統快? = 一樣的

1.1.5. 硬盤:

5400轉 = 每分鐘 =騎自行車

7200轉 = 每分鐘 =騎電動車

10000轉 = 每分鐘 =騎快速電動車

15000轉 = 每分鐘 =騎摩托車? 機械硬盤最快的

SSD = Tesla

1.1. 執(zhí)行py程序方式為:

1. 交互器,缺點程序不能永久保存,主要用與簡單的語法測試相關

2. 文件執(zhí)行

1.2. Python特征

1.簡單主義思想的語言,偽代碼是最大的優(yōu)點,讓你專注于解決問題,而不是代碼本身

2.直接源代碼運行,不需要解釋器,類似Java

3.即支持面向過程也支持面向對象編程

4.使用Python編程,不需要考慮底層的,因為底層有自動化的內存管理

5.可擴展性以及可嵌入性,可以把部分程序用C或者C++寫,在Python中使用,同理也可以在C中調用Python

6.開源,免費,可移植性,豐富的庫

1.3. python變量

跟JAVA一樣,更改的是地址的指引

1.4. 變量/常量的命名規(guī)則

變量:是為了存儲 程序運算過程中的一些中間 結果,為了方便日后調用

1. 要具有描述性

2. 變量名只能_,數字,字母組成,不可以是空格或特殊字符(#?<.,¥$*!~)

3. 不能以中文為變量名

4. 不能以數字開頭

5. 保留字符是不能被使用

6. 變量的命名應該有意義

常量 :不變的量 pie = 3.141592653....

在py里面所有的變量都是可變的 ,所以用全部大寫的變量名來代表次變量為常量

1.5. 內存何時釋放

1.自動釋放:Python有自己的PVM機制,會定期清理內存

2.手動釋放:del name? (清空了堆棧直接的指引,變量找不到索引),PVM會自動回收內存

1.6. 字符編碼

ASCII: 將二進制翻譯成我們能看懂的字符,共計255個符號,所有字符占用8個比特1個字節(jié)

支持中文的第一張表就叫 GB2312

unicode 萬國碼? 支持所有國家和地區(qū)的編碼且向下兼容gb2312 , gbk

2**16 = 65535 = 存一個字符 統一占用2個字節(jié)

???? UTF-8 = unicode 的擴展集,可變長的字符編碼集

Assic -->Gb2312 ->gbk1.0-->gb18030

Assic -->unicode -->utf-8(支持所有國家語言,支持中文)?? /utf-16

Py3中只有2種數據類型:str[unicode編碼]? bytes[十六進制編碼], 2者可以相互轉換,其他的轉換需要中間轉

bytes-->int: int(str(bytes('123', 'utf-8'),'utf-8')) # 編碼

Py3中合并Py2中的int和long int類型為int類型

?【更多參考】Python學習---深入編碼學習1225

1.7. 注釋及簡單的用戶輸入輸出

中文編碼:#coding:utf-8

單行注釋: 用#

??????????????? # print ("hello world")

多行注釋:三個單引號或者雙引號(單雙引號效果相同),有變量的時候,可以用作多行的輸入

??????????????? ''' print ("hello world") '''

注意:單雙引號效果同,但是為了有時候英文的需要,例如my='it's me'里面的縮寫,程序會認為是變量而終止,所以最好用雙引號my="it's me"

用戶輸入:

input/raw_input 接受的所有數據都是字符串,即便你輸入的是數字,但依然會被當成字符串來處理

int(age):將字符串轉化為整數類型

str(age):將整數轉化為字符串類型

death_age = 80 max_age=90 name = raw_input("your name:") age = raw_input("your age:") #print( type(age) ) print ("your name is :",name) print ("your age is :",age) print ("your grandpa is older than you :",max_age-int(age))

?print的使用:

??????????????????? 有逗號(","),會按照2個單獨的字符集處理

? ? ? ? ? ? ? ? ? ? 需要一起處理,則需要"+"做字符串的拼接,不同類型之間需要轉型??

??????????????????? 3個單/雙引號也可以用于多行的輸入???????

???????????????????? print是一個函數,所以print和括號直接不需要空格??????

print("Sorry, ~_~") print "Hello"+"World" print "Hello"+"World"+str(12) print ("hello",end="___") #end 默認是換行的 print () #等價于換行,end 默認是換行的 msg="""hello world 2017""" print (msg)

1.8. if語句實現猜年齡

python通過縮進來是實現的語法判斷,而且縮進級別必須相同,否則會報錯

if...else是一個整體,不一定需要同時出現,但是有else必須有if

# if int(guess_age) == max_age: 注意等號2邊的空格

while面的True必須大寫

break可以退出循環(huán),exit(0)也可以退出循環(huán),也可以設置標志位來結束循環(huán)

max_age = 90 #flag=True #True必須是大寫的哈 #while flag while True:guess_age = raw_input("input the age of you guess>>:")if int(guess_age) == max_age:print ("Congratulation^_^")break; # 終止循環(huán)#exit(0)#flag=falseelif int(guess_age) > max_age:print ("please try small")elif int(guess_age) < max_age:print ("please try bigger")else:print("Sorry,~_~") print "END"

1.9. 算術運算符

除法計算

print (5/2) # 2.5 print (5//2) # 2

Python特殊的判斷:連續(xù)的大小判斷

a=100 b=90 c=200 if b<a<c:print "OK" # OK

?

判斷三個數字中的最大值

a=int (raw_input("input the first num:")) b=int (raw_input("input the first num:")) c=int (raw_input("input the first num:")) max =a if max < b:max = b;if max < c:max = c;print maxelse:print max

py內置數學函數

# abs(x) 返回數字的絕對值,如abs(-10) 返回 10 # ceil(x) 返回數字的上入整數,如math.ceil(4.1) 返回 5 # cmp(x, y) 如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1 # exp(x) 返回e的x次冪(ex),如math.exp(1) 返回2.718281828459045 # fabs(x) 返回數字的絕對值,如math.fabs(-10) 返回10.0 # floor(x) 返回數字的下舍整數,如math.floor(4.9)返回 4 # log(x) 如math.log(math.e)返回1.0,math.log(100,10)返回2.0 # log10(x) 返回以10為基數的x的對數,如math.log10(100)返回 2.0 # max(x1, x2,...) 返回給定參數的最大值,參數可以為序列。 # min(x1, x2,...) 返回給定參數的最小值,參數可以為序列。 # modf(x) 返回x的整數部分與小數部分,兩部分的數值符號與x相同,整數部分以浮點型表示。 # pow(x, y) x**y 運算后的值。 # round(x [,n]) 返回浮點數x的四舍五入值,如給出n值,則代表舍入到小數點后的位數。 # sqrt(x) 返回數字x的平方根,數字可以為負數,返回類型為實數,如math.sqrt(4)返回 2+0j

特殊的賦值運算符:

num += 1 等價于 num = num + 1 num -= 1 等價于 num = num - 1 num *= 2 等價于 num = num * 2 num /= 2 等價于 num = num / 2 num //= 2 等價于 num = num // 2 num %= 2 等價于 num = num % 2 num **= 2 等價于 num = num ** 2

?

短路原則:類似Java中的 &&,||

對于and 如果前面的第一個條件為假,那么這個and前后兩個條件組成的表達式 的計算結果就一定為假,第二個條件就不會被計算

對于or? 如果前面的第一個條件為真,那么這個or前后兩個條件組成的表達式 的計算結果就一定為真,第二個條件就不會被計算

not not True or False and not True ==> (not (not True) )or( False and (not True )) --》True

1.10. break/continue

break: 退出本次循環(huán)

continue: 退出當前的循環(huán)

注意:Python的while語句中也可以由else的語法

num=1 while num<=9:num += 1if num == 3:continueprint (num) else:print "while also has else syndex"

1.11. 編碼規(guī)范

【更多參考】http://blog.csdn.net/robinzhou/article/details/6991078

常量 : 大寫加下劃線

?USER_CONSTANT

對于不會發(fā)生改變的全局變量,使用大寫加下劃線。
私有變量 : 小寫和一個前導下劃線

?_private_value

Python 中不存在私有變量一說,若是遇到需要保護的變量,使用小寫和一個前導下劃線。但這只是程序員之間的一個約定,用于警告說明這是一個私有變量,外部類不要去訪問它。但實際上,外部類還是可以訪問到這個變量。
內置變量 : 小寫,兩個前導下劃線和兩個后置下劃線

?__class__

兩個前導下劃線會導致變量在解釋期間被更名。這是為了避免內置變量和其他變量產生沖突。用戶定義的變量要嚴格避免這種風格。以免導致混亂。
2 函數和方法
總體而言應該使用,小寫和下劃線。但有些比較老的庫使用的是混合大小寫,即首單詞小寫,之后每個單詞第一個字母大寫,其余小寫。但現在,小寫和下劃線已成為規(guī)范。
私有方法 : 小寫和一個前導下劃線

? def _secrete(self):
? print "don't test me."

這里和私有變量一樣,并不是真正的私有訪問權限。同時也應該注意一般函數不要使用兩個前導下劃線(當遇到兩個前導下劃線時,Python 的名稱改編特性將發(fā)揮作用)。特殊函數后面會提及。
特殊方法 : 小寫和兩個前導下劃線,兩個后置下劃線

?def __add__(self, other):
?return int.__add__(other)

這種風格只應用于特殊函數,比如操作符重載等。
函數參數 : 小寫和下劃線,缺省值等號兩邊無空格

?def connect(self, user=None):
? ? self._user = user

3 類

類總是使用駝峰格式命名,即所有單詞首字母大寫其余字母小寫。類名應該簡明,精確,并足以從中理解類所完成的工作。常見的一個方法是使用表示其類型或者特性的后綴,例如:
SQLEngine
MimeTypes
對于基類而言,可以使用一個 Base 或者 Abstract 前綴
BaseCookie
AbstractGroup

?class UserProfile(object):
?def __init__(self, profile):
?return self._profile = profile

?def profile(self):
?return self._profile
4 模塊和包

除特殊模塊 __init__ 之外,模塊名稱都使用不帶下劃線的小寫字母。
若是它們實現一個協議,那么通常使用lib為后綴,例如:
?import smtplib

?import os
?import sys

5 關于參數
5.1 不要用斷言來實現靜態(tài)類型檢測
斷言可以用于檢查參數,但不應僅僅是進行靜態(tài)類型檢測。 Python 是動態(tài)類型語言,靜態(tài)類型檢測違背了其設計思想。斷言應該用于避免函數不被毫無意義的調用。
5.2 不要濫用 *args 和 **kwargs
*args 和 **kwargs 參數可能會破壞函數的健壯性。它們使簽名變得模糊,而且代碼常常開始在不應該的地方構建小的參數解析器。
6 其他

6.1 使用 has 或 is 前綴命名布爾元素

?is_connect = True?
?has_member = False

6.2 用復數形式命名序列

?members = ['user_1', 'user_2']

6.3 用顯式名稱命名字典

?person_address = {'user_1':'10 road WD', 'user_2' : '20 street huafu'}

6.4 避免通用名稱
諸如 list, dict, sequence 或者 element 這樣的名稱應該避免。
6.5 避免現有名稱
諸如 os, sys 這種系統已經存在的名稱應該避免。
7 一些數字
一行列數 : PEP 8 規(guī)定為 79 列,這有些苛刻了。根據自己的情況,比如不要超過滿屏時編輯器的顯示列數。這樣就可以在不動水平游標的情況下,方便的查看代碼。

一個函數 : 不要超過 30 行代碼, 即可顯示在一個屏幕類,可以不使用垂直游標即可看到整個函數。
一個類 : 不要超過 200 行代碼,不要有超過 10 個方法。
一個模塊 不要超過 500 行

?1.12. 打印直角三角形

#coding:utf-8 #Python 3.5.2 lines = int(input("please input the lines:")) while lines > 0:tmp = lineswhile tmp > 0:print ("*",end="")#不換行tmp -= 1print ()lines -= 1

1.13 打印9*9

#Python 3.5.2 first = 9 while first > 0:sec = 1while sec <= first:print (str(sec)+"*"+str(first)+"="+str(first * sec),end="\t")#不換行sec += 1print ()first -= 1

轉載于:https://www.cnblogs.com/ftl1012/p/9381696.html

總結

以上是生活随笔為你收集整理的Python学习---Python安装与基础1205的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。