Python初相識

来源:https://www.cnblogs.com/useryang/archive/2018/08/04/9411084.html
-Advertisement-
Play Games

Python簡介 Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向對象的腳本語言。 Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。 Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。 ...


Python簡介

Python 是一個高層次的結合瞭解釋性、編譯性、互動性和麵向對象的腳本語言。

Python 的設計具有很強的可讀性,相比其他語言經常使用英文關鍵字,其他語言的一些標點符號,它具有比其他語言更有特色語法結構。

  • Python 是一種解釋型語言: 這意味著開發過程中沒有了編譯這個環節。類似於PHP和Perl語言。
  • Python 是互動式語言: 這意味著,您可以在一個Python提示符,直接互動執行寫你的程式。
  • Python 是面向對象語言: 這意味著Python支持面向對象的風格或代碼封裝在對象的編程技術。
  • Python 是初學者的語言:Python 對初級程式員而言,是一種偉大的語言,它支持廣泛的應用程式開發,從簡單的文字處理到 WWW 瀏覽器再到游戲。  

Python 特點

  • 1.易於學習:Python有相對較少的關鍵字,結構簡單,和一個明確定義的語法,學習起來更加簡單。

  • 2.易於閱讀:Python代碼定義的更清晰。

  • 3.易於維護:Python的成功在於它的源代碼是相當容易維護的。

  • 4.一個廣泛的標準庫:Python的最大的優勢之一是豐富的庫,跨平臺的,在UNIX,Windows和Macintosh相容很好。

  • 5.互動模式:互動模式的支持,您可以從終端輸入執行代碼並獲得結果的語言,互動的測試和調試代碼片斷。

  • 6.可移植:基於其開放源代碼的特性,Python已經被移植(也就是使其工作)到許多平臺。

  • 7.可擴展:如果你需要一段運行很快的關鍵代碼,或者是想要編寫一些不願開放的演算法,你可以使用C或C++完成那部分程式,然後從你的Python程式中調用。

  • 8.資料庫:Python提供所有主要的商業資料庫的介面。

  • 9.GUI編程:Python支持GUI可以創建和移植到許多系統調用。

  • 10.可嵌入: 你可以將Python嵌入到C/C++程式,讓你的程式的用戶獲得"腳本化"的能力。

Python2與Python3的主要區別

  • 1.python2.x:源碼不規範,源碼重覆較多。不支持中文,中文支持需要添加內容。

  • 2.python3.x:Python代碼定義的更清晰。源碼清晰,優美,簡單。且支持中文

   Python2.x與python3.x處於相交發展,預計2020年,由Python3.4以上版本完全取代。

Python的類型

  • 編譯型

      優點:編譯器一般會有預編譯的過程對代碼進行優化。因為編譯只做一次,運行時不需要編譯,所以編譯型語言的程式執行效率高。可以脫離語言環境獨立運行。

      缺點:編譯之後如果需要修改就需要整個模塊重新編譯。編譯的時候根據對應的運行環境生成機器碼,不同的操作系統之間移植就會有問題,需要根據運行的操作系統環境編譯不同的可執行文件。代表語言:c

  • 解釋型

      優點:有良好的平臺相容性,在任何環境中都可以運行,前提是安裝瞭解釋器(虛擬機)。靈活,修改代碼的時候直接修改就可以,可以快速部署,不用停機維護。

      缺點:每次運行的時候都要解釋一遍,性能上不如編譯型語言。 代表語言:python

Python的種類

  • CPython

當我們從Python官方網站下載並安裝好Python 3.6後,我們就直接獲得了一個官方版本的解釋器:CPython。這個解釋器是用C語言開發的,所以叫CPython。在命令行下運行python就是啟動CPython解釋器。

CPython是使用最廣的Python解釋器。教程的所有代碼也都在CPython下執行。

  • IPython

IPython是基於CPython之上的一個互動式解釋器,也就是說,IPython只是在交互方式上有所增強,但是執行Python代碼的功能和CPython是完全一樣的。好比很多國產瀏覽器雖然外觀不同,但內核其實都是調用了IE。

CPython用>>>作為提示符,而IPython用In [序號]:作為提示符。

  • PyPy

PyPy是另一個Python解釋器,它的目標是執行速度。PyPy採用JIT技術,對Python代碼進行動態編譯(註意不是解釋),所以可以顯著提高Python代碼的執行速度。

絕大部分Python代碼都可以在PyPy下運行,但是PyPy和CPython有一些是不同的,這就導致相同的Python代碼在兩種解釋器下執行可能會有不同的結果。如果你的代碼要放到PyPy下執行,就需要瞭解PyPy和CPython的不同點

  • Jython

Jython是運行在Java平臺上的Python解釋器,可以直接把Python代碼編譯成Java位元組碼執行。

  • IronPython

IronPython和Jython類似,只不過IronPython是運行在微軟.Net平臺上的Python解釋器,可以直接把Python代碼編譯成.Net的位元組碼。

通過網路交互,來確保各個語言的獨立性。

 

第一句Python

print ('hello everyone')#列印括弧里的內容

變數

#變數:就是將一些數據的中間結果暫存起來,以便後續使用
#_*_encoding:utf-8 _*_ 在python2.x里使用中文字元
x=1+2+3+4+5
print(x)
y=(x*20)/4
z=(y*5)/2
print(y,z)

變數定義的規則:

  • 變數只能由數字,字母,下劃線任意組合
  • 不能以數字開頭
  • 不能是python中的關鍵字 ['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']
  • 變數要有描述性
  • 變數不能使用中文
  • 變數不能過長
  • 變數不能使用拼音
  • 變數官方推薦 駝峰 下劃線

 常量

age1=12
age2=age1
age3=age2
age2=26
print(age1,age2,age3)#賦值變化
#常量:一直不變的量。python中本來沒有常量
name='alex'
NAME='wusir'
#python中的常量:將常量全部大寫
#往往常量會放在文件前面

註釋

就像小時候讀的文言文下麵的註釋。在編程中就是對代碼的解釋說明,幫助自己或者別人理解,在重點的地方,難以理解的地方
單行註釋#
多行註釋:三引號"""註釋內容""" 或者雙引號""註釋內容""

數據類型

人類給機器劃分的一些數據:數字類型,字元類型 bool值 對與錯
  • 數字類型:


#float 浮點型 i=3.1415
#int  整型 i=36 i2=100
#用來計算或計數
 
  • 字元串類型
s1='alxe'
s2="alxe李哥"
#單雙引號配合使用
s3="I'm taibai"
#print(s3)
msg="""床前明月光,
疑是地上霜"""
print(msg)

 

  • #字元串拼接與乘法
s1='alxe'
s2="alxe李哥"
print(s1+s2)
s3='奮鬥'
print(s3*8)

 

  • bool值


print(True)
print(False)
print(2>1)
 

用戶輸入

#用戶需要輸入用戶名密碼(qq登陸)此時就需要輸入input
#print('18')
#print(18)
""
name=input('請輸入姓名:') age=input('請輸入年齡') print(type(age))#判斷此數據的數據類型 print('此用戶的姓名是'+ name +',' + '此用戶的年齡是'+age)""" """name=input('請輸入銀行卡號:') age=input('請輸入密碼:') print(type(age)) print('此用戶的銀行卡號是'+ name +',' + '此用戶的密碼是'+age)""" name = input('請輸入姓名:') age = input('請輸入年齡:') tops = input('請輸入身高:') BWH = input('請輸入三圍:') print(type(age),type(tops),type(BWH)) print('此用戶的姓名是'+name + ',' + '此用戶的年齡是'+age+','+'此用戶的身高是 '+tops+','+'此用戶的三圍是'+BWH) name = input('請輸入用戶名:') password = input('請輸入密碼:') print('此用戶的用戶名是'+name+',' + '此用戶的密碼密碼是'+password)

 


if語句五種結構

#第一種結構:單獨if
#print(111)
#if 3>4:
#    print(222)
#print(333)

#print (111)
#if 1>2:
#    print(sb)
#print(666)

#print(666)
#if 1+2<3:
#    print(222)
#print(000)

#print (111)
#if 1>2:
#    print(sb)
#print(666)

#print(666)
#if 1+2<3:
#    print(222)
#print(000)

 



#第二種結構:if else 結果只有一種
#choice=int(input('請輸入你的大小:'))
#if 0<choice<4:
#    print('你猜的是小')
#else:
#    print('你猜的是大')

choice=int(input('明天會不會下雨:'))
if 1<choice<9:
    print('你說對了')
else:
    print('你說錯了')

 

 

#第三種結構:多個選擇選一個 if elif elif ...可以有多個條件
choice=int(input('請輸入你猜的數字:'))

if choice==3:
    print('我請你吃飯')
elif choice==4:
    print('我請你看電影')
elif choice==6:
    print('我請你大保健')

#設定一個理想數字比如:66,讓用戶輸入數字,如果比66大,則顯示猜測的結果大了;如果比66小,
#則顯示猜測的結果小了;只有等於66,顯示猜測結果正確。
choice=int(input('請輸入你的大小:'))
if 66<choice:
    print('你猜的大了')
elif 66>choice:
    print('你猜的小了')
else:
    print('結果正確')

 

 

#第四種結構:多個選擇選一個 if elif elif ...可以有多個條件
#choice=int(input('請輸入你猜的數字:'))

#if choice==3:
#    print('我請你吃飯')
#elif choice==4:
#    print('我請你看電影')
#elif choice==6:
#    print('我請你大保健')
#else:
#    print('這都沒猜對,你個辣雞')

choice=int(input('請選擇的一條路:'))
if choice==1:
    print('天堂')
elif choice==2:
    print('地獄')
elif choice==3:
    print('九死一生')
elif choice==4:
    print('你去死吧!!!')

"""如果⼩於10, 提⽰⼩屁孩, 如果⼤於10, ⼩於 20, 提⽰青春期叛逆的⼩屁孩. 如果⼤於20, ⼩於30. 
提⽰開始定性, 開始混社會的⼩ 屁孩⼉, 如果⼤於30, ⼩於40. 提⽰看老⼤不⼩了, 趕緊結婚⼩屁孩⼉.
如果⼤於40, ⼩ 於50. 提⽰家⾥有個不聽話的⼩屁孩⼉. 如果⼤於50, ⼩於60. 提⽰⾃⼰⻢上變成不聽 
話的老屁孩⼉.如果⼤於60, ⼩於70. 提⽰活著還不錯的老屁孩⼉. 如果⼤於70, ⼩於 90. 
提⽰⼈⽣就快結束了的⼀個老屁孩⼉. 如果⼤於90以上. 提⽰. 再⻅了這個世界."""
choice=int(input('請輸入你的年齡:'))
if choice<10:
    print('小屁孩')
elif 10<choice<20:
    print('青春期叛逆的⼩屁孩')
elif 20<choice<30:
    print('開始定性, 開始混社會的⼩ 屁孩⼉')
elif 30<choice<40:
    print('看老⼤不⼩了, 趕緊結婚⼩屁孩⼉')
elif 40<choice<50:
    print('家⾥有個不聽話的⼩屁孩⼉')
elif 50<choice<60:
    print('⾃⼰⻢上變成不聽 話的老屁孩⼉')
elif 60<choice<70:
    print('活著還不錯的老屁孩⼉')
elif 70<choice<90:
    print('⼈⽣就快結束了的⼀個老屁孩⼉')
else:
    print('再⻅了這個世界')

 

 

if 嵌套
username=input('請輸入用戶名:')
password=input('請輸入密碼:')

"""if username=='alex':
    if password=='123':
        print('登陸成功')
    else:
        print('密碼輸入錯誤')
else:
    print('用戶名輸入有誤')

#提⽰⽤戶輸入⿇花藤. 判斷⽤戶輸入的對不對. 如果對, 提⽰真聰明, 如果不對, 提⽰你 是傻逼麽

"""username=input('請輸入:')

"""if username =='⿇花藤':
    print('真聰明')
else:
    print('是傻逼嗎')"""


username=input('請輸入用戶名:')
password=input('請輸入密碼:')

if username=='yangjie':
    if password=='1qaz2wsx':
        print('登陸成功')
    else:
        print('密碼輸入錯誤')
else:
    print('用戶名密碼輸入錯誤')

 

 











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

-Advertisement-
Play Games
更多相關文章
  • WebGL魔方小游戲 - www.web-tinker.com ...
  • 目錄 1. JavaScript框架種類及其優缺點 2. jQuery庫 3. jQuery對象$ 掌握基本選擇器 掌握過濾選擇器 掌握表單選擇器 RIA技術 常見的RIA技術 Ajax Sliverlight Flex 什麼是框架? 框架是程式員將一個又一個功能進行封裝,供其他人使用的程式組件,了 ...
  • <script>let iosUser = window.navigator.userAgent.indexOf('iPhone')let inp = document.querySelector('#inp');//input輸入框if (iosUser != -1) { var bfscroll ...
  • JS中 條件判斷為 false 的幾種情況: 0、-0、0.0、null、""、false、undefined、NaN 其他情況下判斷為 true, 包括:"0"、"null"、"false"、"undefined"、"NaN" ...
  • 簡單的JS俄羅斯方塊游戲源碼 效果圖: 代碼如下,複製即可使用: GameFrame.js graph.js index.js 如果有更好的方法或更多的功能,可以和我們大家一起分享哦,如有錯誤,歡迎聯繫我改正,非常感謝!!! ...
  • 一 : 函數名的運用 1.函數名的記憶體地址 2.函數名可以賦值給其他變數 3.函數名可以當做容器類的元素 4.函數名可以當做函數的參數 5.函數名可以作為函數的返回值 二 : 閉包 閉包就是內層函數,對外層函數(非全局)的變數的引用 我們可以使用__closure__來檢測函數是否是閉包,返回cel ...
  • 1.join() 將列表轉換成字元串,並且每個字元之間用另一個字元連接起來,join後面必須是可迭代的對象(字元串,列表,元組,字典,集合),數字不能迭代 例如: 結果為:a_b_c 2.字元串轉換成列表:split() 列表轉換成字元串:join() 3.列表的刪除(pop,remove,del, ...
  • 簡介: UserDetails => Spring Security基礎介面 Authentication => 認證對象,可通過SecurityContext獲得 principal => 用戶信息對象,是一個Object,通常可轉為UserDetails UserDetails 用於表示一個pr ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...