Python學習第一天-第2節

  • *本節課內容參見:https://www.cnblogs.com/jin-xin/articles/7459977.html

?

?運行第一個Python程序

print('hello world')
  • 將文本文件保存為以.py結尾的文件,如hello_world.py ,在終端中,運行命令:Python hello_world.py,在終端中顯示“hello world”
  • Python2.x與Python3.x在終端中運行Python文件的方法一樣,即:Python+空格+Python文件(與終端不在一個工作目錄下是,需要加上Python文件的路徑)
  • #同時裝有Python2和Python3時,應當把Python2的運行文件(即EXE文件)修改為Python2.exe,在終端中可以區分用的是哪個版本的Python運行的文件

?

變量

  • 定義:將運算的中間結果暫時存儲到內存上,以便后續代碼調用

?

變量名

  • 含義:變量名是指向內存中變量的名稱,當變量沒有指向其的變量名時,該變量將通過垃圾回收機制被釋放掉
  • 變量名命名的要求:1.必須由數字、字母、下劃線的任意組合構成,且不能以數字開頭;2.不能是Python中的關鍵字;3.具有可描述性(非強制性,不會報錯);4.不能是中文或者是拼音(非強制,不會報錯);5.變量名不能太長(非強制,不會報錯)

    #如果變量名報錯,只用看違反了第一條還是第二條

  • 命名形式,推薦下劃線體 age_of_me=18
  • 變量的賦值,賦值是以“=”實現的(在Python中,雙等號“==”是判斷是否相等的比較),先計算等號右邊的內容,然后將值賦給等號左邊的變量名
  • Python中所有的量都是可以更改的,所以嚴格意義上,Python中是不存在常量的,不過Python中,約定俗稱,變量名全部用大寫字母表示的為常量,如:BIR_OF_CHINA=1949。

?

注釋

  • 用途:解釋代碼,方便維護
  • 形式:1.#號后邊的內容(單行注釋);2..三引號(成對出現的三個單引號或者雙引號,多行注釋)
  • 用在重要代碼處,不要處處留注釋

?

基礎數據類型-初識

  • 數字:整形(int);浮點型(float)

    #可以參與的運算:加(+)、減(-)、乘(*)、除(/)、地板除(也叫取整,//)、求模(也叫取余,%)、冪(**)

  • 字符串:用成對的單引號或雙引號,甚至是三引號(用于多行字符串),括起來的內容(str)

    #可以參與的運算:拼接(+,字符串與字符串之間進行的操作),重復n次(*n,字符串與整數之間的操作)

  • bool值:只有兩種狀態,True和False
  • 字符串類型可以轉換為數字,使用int(str)方法,其中字符串必須由數字構成,否則報錯;任意的數字類型都可以轉化為字符串,使用str(int)方法,等同于數字兩側加引號
  • 用type()方法來判別數據類型

?

用戶交互:即人機對話,在Python中是指input()方法

  • name=input('what is your name?')
    age=input('請輸入您的年齡')
    print(name,age)

    ?

  • ?input()方法所產生的數據,其類型都是字符串

?

if條件語句(也叫流程控制)

  • 在Python中要求強制縮進,即頂級代碼頂行寫,次級代碼比上級代碼縮進一個制表符位置(即table)
  • ?

    if 條件:滿足頂級代碼要求(也即頂級代碼條件為真,下同)時的結果
    單分支
    if 條件:滿足頂級代碼條件的結果
    else:不滿足頂級代碼條件的結果
    雙分支:如果怎么就如何,否則。。。

    ?雙分支實例

    name=input('請輸入你所熟悉的編程語言:')
    if name=='python':print('人生苦短,我用%s'%name)
    else:print('少年,考慮下python吧!')

    ?

    if 條件:滿足頂級代碼條件的結果
    elif 條件:不滿足之前頂級代碼的條件但滿足本頂級代碼條件時的結果
    elif 條件:不滿足之前頂級代碼的條件但滿足本頂級代碼條件時的結果
    。。。
    。。。
    elif 條件:不滿足之前頂級代碼的條件但滿足本頂級代碼條件時的結果
    elif 條件:不滿足之前頂級代碼的條件但滿足本頂級代碼條件時的結果
    else:之前所有頂級代碼條件都不滿足的結果
    多分支

    ?多分支實例

    name=input('請輸入你所熟悉的編程語言:')
    if name=='python':print('人生苦短,我用%s'%name)
    elif name=='c':print('en,學c的都是大牛吧')
    elif name=='php':print('學PHP容易讓人誤解為拍黃片吧?')
    else:print('少年,考慮下python吧!')

    ?

    if 條件:if 條件:if 條件:
    。。。
    。。。
    嵌套

    ?嵌套實例

    name=input('請輸入你所熟悉的編程語言:')
    age=int(input('請輸入學習時間:'))
    if name=='python':if age > 5:print('perfect')elif 3<age<=5:print('good')else:print('just so so')
    else:print('少年,考慮下python吧!')

    ?

  • if條件語句注意事項:1.語句后面的冒號必須是英文狀態下的冒號(:);2.縮進可以是table制表符,也可以是空格,但在一個Python文本中,不可以table和空格混用,否則報錯,Python官方推薦和默認縮進使用table制表符,編程過程中應當使用table,而非空格;3.在多分支中,從上至下,只要滿足一個條件(即只要有一個條件為真),后面的代碼將不會再執行;4.if / else的結果可以直接寫在else的冒號“:”之后,但僅限于else的結果比較簡單時,如下代碼,將執行打印444
    if 5>6:print(666)
    else:print(444)

    ?

while循環語句

  • ?基本語句
    while 條件:循環體

    ?#條件只要是可以比較得出真假的條件都可以,當條件為真時,循環體將執行一次,然后再次判斷條件,條件為真時,循環體再執行一次,條件如果一直為真,循環體將無限循環;直到當條件為假時,循環將終止。

  • 無限循環
    print('循環體開始之前')
    while True:print('hello world')print('你好,世界')
    print('循環體結束之后')

    ?#代碼執行后,將會打印“循環體開始之前”,然后條件為真,“hello world”和“你好,世界”將會無限循環下去(這也稱之為死循環),即使終止代碼執行,“循環體結束之后”也不會打印

  • “死掉的”循環
    print('循環體開始之前')
    while False:print('hello world')print('你好,世界')
    print('循環體結束之后')

    ?#代碼執行后,將會打印“循環體開始之前”,然后條件為假,循環體將不會執行,直接執行循環體之后的代碼,打印“循環體結束之后”,這種循環就真的是死掉的循環了

  • 動態循環
    print('循環體開始之前')
    n=1;a=0
    while n<=100:print('n為%s' % n)a += nprint('從%s加到%s的結果為%s'%(1,n,a))n += 1
    print('循環體結束之后')

    ?#循環不是無限的也不是死掉的,而是根據條件的真假而動態改變的,條件為真時,循環體執行,條件為假時,循環體終止

  • break終止循環
    print(111)
    while True:print(222)print(333)breakprint(444)
    print(555)

    ?#當while循環體遇到break關鍵字時,循環體終止并跳出循環

  • continue結束本次循環繼續下一次循環(注意時繼續而不是終止)
    n=0
    while n<100:n+=1if 5<n<95:continueelse:print(n)

    ?#當n的值大于5而小于95時,本次循環結束,直接開啟下一輪循環

  • break和continue在多層循環語句中,只對其所在的最內層的循環體起作用,如例

    n=0
    while n<20:print(555)n+=1while True:if n>=1:break

    #代碼將會打印20次555,盡管有break關鍵字,但break關鍵字只在內層的循環體中,并不影響外部循環體

    ?

?

轉載于:https://www.cnblogs.com/shannanshui/p/9806565.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450409.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450409.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450409.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringMVC之組合注解@GetMapping

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 Spring4.3中引進了&#xff5b;GetMapping、PostMapping、PutMapping、DeleteMapping、PatchMapping&#xff5d;&#xff0c;來幫助簡化…

資源下載地址

1、nginx http://nginx.org/en/download.html 2、nodejs http://nodejs.cn/download/ 3、vscode https://code.visualstudio.com/ 4、canal https://github.com/alibaba/canal/releases/download/canal-1.1.4/canal.deployer-1.1.4.tar.gz 5、jenkins https://jenkins.io/i…

C語言volatile關鍵字—最易變的關鍵字

volatile 是易變的、不穩定的意思。很多人根本就沒見過這個關鍵字&#xff0c;不知道它的存在。也有很多程序員知道它的存在&#xff0c;但從來沒用過它。我對它有種“楊家有女初長成,養在深閨人未識” 的感覺。volatile 關鍵字和const 一樣是一種類型修飾符&#xff0c;用它修…

mysql 備份腳本

#!/bin/bash INNOBACKUPEXFULL"/usr/bin/innobackupex" MYSQL_CMD --socket/ssd/mysql/3346/tmp/mysql.sock --userroot --passwordmysqlpassword --port3346 MYSQL_UP --userroot --passwordmysqlpassword --port3346 #mysqladmin的用戶名和密碼 TMPLOG"/dat…

爆棧的處理方法

爆棧指遞歸中&#xff0c;存儲的信息量大于系統棧的內存。 信息量包括元素編號&#xff0c;每一層中開的變量。 和遞歸的層數正相關。 &#xff08;雖然noip一般開棧&#xff09; 1.手寫棧 while(top){ int xsta[top]; for(each son) if(has son){ //blablabla sta[top]son; h…

項目面試題

項目面試題 1.描述最熟悉的或者&#xff08;最近&#xff09;的一個項目 &#xff1f; 目的&#xff1a;檢測技術和項目的熟悉程度工作職責 回答&#xff1a;項目名稱&#xff0c;項目的甲方&#xff0c;背景&#xff0c;實現的目的和意義&#xff0c;該項目主要是為了解決什…

MySQL定時備份(全量備份+增量備份)

MySQL 定時備份 參考 zone7_ 的 實戰-MySQL定時備份系列文章 參考 zmcyu 的 mysql數據庫的完整備份、差異備份、增量備份 更多binlog的學習參考馬丁傳奇的 MySQL的binlog日志&#xff0c;這篇文章寫得認真詳細&#xff0c;如果看的認真的話&#xff0c;肯定能學的很好的。 如果…

java 接口可以多繼承

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 接口是常量值和方法定義的集合。接口是一種特殊的抽象類。 java類是單繼承的。classB Extends classA java接口可以多繼承。Interface…

C語言struct關鍵字詳解—結構體

struct 是個神奇的關鍵字&#xff0c;它將一些相關聯的數據打包成一個整體&#xff0c;方便使用。在網絡協議、通信控制、嵌入式系統、驅動開發等地方&#xff0c;我們經常要傳送的不是簡單的字節流&#xff08;char 型數組&#xff09;&#xff0c;而是多種數據組合起來的一個…

JDK1.8使用Dubbo時需注意

2019獨角獸企業重金招聘Python工程師標準>>> Dubbo自帶的很多包都比較舊了&#xff0c;其中的javassist在JDK1.8上運行會報錯 而且錯誤通常比較詭異&#xff0c;javassist是編輯和創建Java字節碼的類庫&#xff0c;常見的錯誤會從spring中報出 解決辦法&#xff1a;…

Java 11 已發布,String 還能這樣玩!

在文章《Java 11 正式發布&#xff0c;這 8 個逆天新特性教你寫出更牛逼的代碼》中&#xff0c;我有介紹到 Java 11 的八個新特性&#xff0c;其中關于 String 加強部分&#xff0c;我覺得有點意思&#xff0c;這里單獨再拉出來講。 Java 11 增加了一系列的字符串處理方法&…

Redis1 晨考題

Redis1 晨考題 1.Redis 是什么 &#xff1f; redis 是一個開源的使用 ANSI C 語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value 的內存數據庫&#xff0c;并提供多種語言的 API。 2.NOSQL 是什么 &#xff1f;出現的目的和意義是什么 &#xff1f; NoSQL 泛指…

C語言void關鍵字

void 有什么好講的呢&#xff1f;如果你認為沒有&#xff0c;那就沒有&#xff1b;但如果你認為有&#xff0c;那就真的有。有點像“色即是空&#xff0c;空即是色”。一、void a&#xff1f; void 的字面意思是“空類型”&#xff0c;void *則為“空類型指針”&#xff0c;vo…

深入了解RabbitMQ工作原理及簡單使用

深入了解RabbitMQ工作原理及簡單使用 RabbitMQ系列文章 RabbitMQ在Ubuntu上的環境搭建深入了解RabbitMQ工作原理及簡單使用RabbitMQ交換器Exchange介紹與實踐RabbitMQ事務和Confirm發送方消息確認——深入解讀使用Docker部署RabbitMQ集群你不知道的RabbitMQ集群架構全解RabbitM…

使用el-checkbox實現全選,點擊失效沒有反應

最近在公司接收到了一個需求&#xff0c;給收藏夾的書籍添加批量、全選刪除實現思路&#xff1a;點擊全選改變item的checked&#xff0c;改變item的checked&#xff0c;重新便利一下所有item的checked來改變全選的selectAll1&#xff09;該組件基本功能已經實現&#xff0c;che…

Spring3.2新注解@ControllerAdvice

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 ControllerAdvice&#xff0c;是spring3.2提供的新注解&#xff0c;從名字上可以看出大體意思是控制器增強。讓我們先看看ControllerAdv…

Mysql1 晨考題

Mysql1 晨考題 1.描述主鍵、外鍵、候選主鍵、超鍵分別是什么 &#xff1f; &#xff08;1&#xff09;主鍵&#xff1a;數據庫表中對存儲數據對象給予唯一完整標識的數據列或屬性的組合。一個數據列只能有一個主 鍵&#xff0c;且主鍵的取值不能缺失&#xff0c;即不能為空值…

C語言關鍵字

C語言do、while、for關鍵字—循環 C 語言中循環語句有三種&#xff1a;while 循環、do-while 循環、for 循環。while 循環&#xff1a;先判斷while 后面括號里的值&#xff0c;如果為真則執行其后面的代碼&#xff1b;否則不執行。while&#xff08;1&#xff09;表示死循環。…

C語言字符篇(五)內存函數

memcpy不可以把目的地址寫成本身但是memmove可以,因為它是先保存到臨時空間 #include <string.h> void *memcpy(void *dest, const void *src, size_t n);將內存src拷貝n個字符到內存destvoid *memmove(void *dest, const void *src, size_t n);將內存src的前n個數據拷貝…

GMQ交易平臺大力探索區塊鏈技術,進一步推動產業繁榮

近年來&#xff0c;區塊鏈技術作為金融科技的中堅力量&#xff0c;受到了產業界的熱切關注&#xff0c;其實驗開展和應用研發正在如火如荼的進行。 在此背景下&#xff0c;各地涌現出一大批優秀的企業投入到區塊鏈產業中&#xff0c;各類企業投融 資活動十分活躍&#xff0c;充…