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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

Python基础知识一

發(fā)布時(shí)間:2025/3/16 python 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python基础知识一 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本章內(nèi)容:

  • Python 的種類
  • Python 的環(huán)境
  • Python 入門(解釋器、編碼、pyc文件、腳步傳入?yún)?shù)、變量、輸入、流程控制與縮進(jìn)、while循環(huán))
  • 練習(xí)題
Python 的種類
  • Cpython

  Python的官方版本,使用C語言實(shí)現(xiàn),使用最為廣泛,CPython實(shí)現(xiàn)會(huì)將源文件(py文件)轉(zhuǎn)換成字節(jié)碼文件(pyc文件),然后運(yùn)行在Python虛擬機(jī)上。

  • Jyhton

  Python的Java實(shí)現(xiàn),Jython會(huì)將Python代碼動(dòng)態(tài)編譯成Java字節(jié)碼,然后在JVM上運(yùn)行。

  • IronPython

? ? Python的C#實(shí)現(xiàn),IronPython將Python代碼編譯成C#字節(jié)碼,然后在CLR上運(yùn)行。(與Jython類似)

  • PyPy(特殊)

  Python實(shí)現(xiàn)的Python,將Python的字節(jié)碼字節(jié)碼再編譯成機(jī)器碼。

  • RubyPython、Brython ...

Python的對(duì)應(yīng)關(guān)系和執(zhí)行流程如下:

PyPy 在Python的基礎(chǔ)上對(duì)Python的字節(jié)碼進(jìn)一步處理,從而提升執(zhí)行速度!

?

Python 的環(huán)境

Windows:

下載地址:https://www.python.org/downloads/

Linux

自帶python環(huán)境

?
1 2 3 4 5 6 #python -V 查看python版本 nick-suo@ubuntu:~$ python -V Python 2.7.6 nick-suo@ubuntu:~$ python3 -V Python 3.4.0 nick-suo@ubuntu:~$

更新python環(huán)境

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1、安裝gcc,用于編譯Python源碼 ????yum install gcc 2、下載源碼包,https://www.python.org/ftp/python/ 3、解壓并進(jìn)入源碼文件 4、編譯安裝 ????./configure ????make all ????make install 5、查看版本 ????/usr/local/bin/python2.7 -V 6、修改默認(rèn)Python版本 ????mv /usr/bin/python /usr/bin/python2.6 ????ln -s /usr/local/bin/python2.7 /usr/bin/python 7、防止yum執(zhí)行異常,修改yum使用的Python版本 ????vi /usr/bin/yum ????將頭部 #!/usr/bin/python 修改為 #!/usr/bin/python2.6

?

Python 入門

一、'Hello World!'

?
1 2 3 4 5 #python2的寫法 print "Hello World!" #python3的寫法 print("Hello World!")

二、執(zhí)行(解釋器)、退出

明確的指出 hello.py 腳本由 python 解釋器來執(zhí)行。

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 nick-suo@ubuntu:/blogs$ cat hello.py #!/usr/bin/env python print("Hello World!") nick-suo@ubuntu:/blogs$ sudo chmod +x hello.py? nick-suo@ubuntu:/blogs$ ./hello.py Hello World! nick-suo@ubuntu:/blogs$ ######################### 程序可以通過拋出SystemExit異常來請(qǐng)求退出。 >>> raise SystemExit

三、編碼

python解釋器在加載 .py 文件中的代碼時(shí),會(huì)對(duì)內(nèi)容進(jìn)行編碼(默認(rèn)ascill)

ASCII(American Standard Code for Information Interchange,美國標(biāo)準(zhǔn)信息交換代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),主要用于顯示現(xiàn)代英語和其他西歐語言,其最多只能用 8 位來表示(一個(gè)字節(jié)),即:2**8 = 256,所以,ASCII碼最多只能表示 256 個(gè)符號(hào)。

顯然ASCII碼無法將世界上的各種文字和符號(hào)全部表示,所以,就需要新出一種可以代表所有字符和符號(hào)的編碼,即:Unicode

Unicode(統(tǒng)一碼、萬國碼、單一碼)是一種在計(jì)算機(jī)上使用的字符編碼。Unicode 是為了解決傳統(tǒng)的字符編碼方案的局限而產(chǎn)生的,它為每種語言中的每個(gè)字符設(shè)定了統(tǒng)一并且唯一的二進(jìn)制編碼,規(guī)定雖有的字符和符號(hào)最少由 16 位來表示(2個(gè)字節(jié)),即:2 **16 =?65536,
注:此處說的的是最少2個(gè)字節(jié),可能更多

UTF-8,是對(duì)Unicode編碼的壓縮和優(yōu)化,他不再使用最少使用2個(gè)字節(jié),而是將所有的字符和符號(hào)進(jìn)行分類:ascii碼中的內(nèi)容用1個(gè)字節(jié)保存、歐洲的字符用2個(gè)字節(jié)保存,東亞的字符用3個(gè)字節(jié)保存...

告訴python解釋器,用什么編碼來執(zhí)行代碼:

?
1 2 3 4 5 6 7 8 nick-suo@ubuntu:/blogs$ cat hello.py #!/usr/bin/env python #-*- coding:utf-8 -*- print("你好 世界!") nick-suo@ubuntu:/blogs$ python3 hello.py 你好 世界! nick-suo@ubuntu:/blogs$

四、注釋

單行注釋:#Nick

多行注釋:'''Nick'''

?
1 2 3 4 5 6 7 #Nick ''' Nick Nick Nick '''

五、pyc文件

執(zhí)行Python代碼時(shí),如果導(dǎo)入了其他的 .py 文件,那么,執(zhí)行過程中會(huì)自動(dòng)生成一個(gè)與其同名的 .pyc 文件,該文件就是Python解釋器編譯之后產(chǎn)生的字節(jié)碼。

?
1 2 3 nick-suo@ubuntu:/blogs$ ls a.py* a.py? a.pyc nick-suo@ubuntu:/blogs$

六、腳步傳入?yún)?shù)

Python有大量的模塊,從而使得開發(fā)Python程序非常簡潔。類庫有包括三中:

  • Python內(nèi)部提供的模塊
  • 業(yè)內(nèi)開源的模塊
  • 程序員自己開發(fā)的模塊

Python內(nèi)部提供一個(gè) sys 的模塊,其中的 sys.argv 用來捕獲執(zhí)行執(zhí)行python腳本時(shí)傳入的參數(shù)

?
1 2 3 4 5 6 #!/usr/bin/env python #-*- coding:utf-8 -*- import sys print("sys.argv")

七、變量

1、聲明變量

?
1 2 3 4 5 #!/usr/bin/env python #-*- coding:utf-8 -*- #聲明變量name,值為"Nick" name = "Nick"

變量的作用:昵稱其代指內(nèi)存里某個(gè)地址中保存的內(nèi)容

?

變量定義的規(guī)則:

  • 變量名只能是 字母、數(shù)字或下劃線的任意組合
  • 變量名的第一個(gè)字符不能是數(shù)字
  • 以下關(guān)鍵字不能聲明為變量名
  • ['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']

2、變量的賦值

?
1 2 3 4 5 #!/usr/bin/env python #-*- coding:utf-8 -*- name1 = "Nick" name2 = "Suo"

?
1 2 3 4 5 #!/usr/bin/env python #-*- coding:utf-8 -*- name1 = "Nick" name2 = name1

八、輸入

輸入用戶名

?
1 2 3 4 5 6 7 8 9 10 #!/usr/bin/env python #-*- coding:utf-8 -*- #將用戶輸入的內(nèi)容賦值給name變量 name = raw_input("請(qǐng)輸入用戶名:") print name #python3的寫法 name = input("請(qǐng)輸入用戶名:") print(name)

輸入密碼時(shí),如果想要不可見,需要利用getpass 模塊中的 getpass方法,即:

?
1 2 3 4 5 6 7 #!/usr/bin/env python #-*- coding:utf-8 -*- import getpass pwd = getpass.getpass("請(qǐng)輸入密碼:") print(pwd)

?九、流程控制與縮進(jìn)

用戶登錄驗(yàn)證與輸出相應(yīng)內(nèi)容

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #!/usr/bin/env python #-*- coding:utf-8 -*- import getpass name = input("請(qǐng)輸入用戶名:") pwd = getpass.getpass("請(qǐng)輸入密碼:") if name == "nick" and pwd == "nick": ????print("Welcome, nick.") elif name == "Suo" and pwd == "Suo": ????print("Welcome, Suo.") elif name == "test": ????print("Hi, test.") else: ????print("Sorry, please try angin.")

十、while循環(huán)

1、基本循環(huán)

?
1 2 3 4 5 6 while 條件: ?????? ????# 循環(huán)體 ?? ????# 如果條件為真,那么循環(huán)則執(zhí)行 ????# 如果條件為假,那么循環(huán)不執(zhí)行

2、break

break 用于退出當(dāng)層循環(huán)

?
1 2 3 4 5 6 7 8 9 #!/usr/bin/env python #-*- coding:utf-8 -*- num = 1 while num <6: ????print(num) ????num+=1 ????break ????print("end")

3、continue

continue 用于退出當(dāng)前循環(huán),繼續(xù)下一次循環(huán)

?
1 2 3 4 5 6 7 8 9 #!/usr/bin/env python #-*- coding:utf-8 -*- num = 1 while num <6: ????print(num) ????num+=1 ????continue ????print("end")

?

練習(xí)題

求1-2+3-4+5 ... 99的所有數(shù)的和

方法一:

?
1 2 3 4 5 6 7 8 9 10 11 num = 1 num2 = 2 num3 = num - num2 while True: ????num+=2 ????num2+=2 ????num3 = num3 + num ????if num == 99: ????????break ????num3 = num3 - num2 print(num3)

方法二:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 sum = 1 s = 0 while True: ????s = s + sum ????if sum == 99: ????????break ????sum+=2 sum1 = 0 s1 = 0 while True: ????s1 = s1 + sum1 ????if sum1 == 98: ????????break ????sum1 += 2 print(s - s1)

方法三:

?
1 2 3 4 5 6 7 8 9 10 sum = 0 start = 1 while start < 100: ????temp = start % 2 ????if temp == 1: ????????sum = sum +start ????else: ????????sum = sum - start ????start += 1 print(sum)
+ View Code?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 s = "" sum = 0 start = 1 while start < 100: ????temp = start % 2 ????if temp == 1: ????????if start == 1: ????????????s = str(start) ????????else: ????????????s = s + "+" + str(start) ????????sum = sum +start ????else: ????????s = s + "-" + str(start) ????????sum = sum - start ????start += 1 print(s) print(sum)

方法四:

?
1 2 3 4 5 6 sum=1 s=0 while sum<100: ????s=s+sum*(-1)**(sum+1) ????sum+=1 print(s)

方法五:

?
1 2 #排除99,剩余49組1-2 print(49*(1-2)+99)

?

轉(zhuǎn)載于:https://www.cnblogs.com/gaidy/p/10531153.html

總結(jié)

以上是生活随笔為你收集整理的Python基础知识一的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。