Python基礎部分1——變量,常量,基本運算符

常用快捷鍵:

1.三個單引號''' '''

    '''

     多行註釋

     多行註釋......

    '''

2.  #  號

    表示註釋當前行 

3. ctrl + ? 

    選中一段代碼,批量註釋

4.ctrl + d

     選中一行代碼,複製到下一行(相當於Sehll裏面得yy p)

5.shift+tab

    選中一行或者多行代碼,使用shift+tab健表示向左縮進,使用tab健表示向右縮進

6.Python特有的單詞不能定義爲變量名,否則使用不了特定的功能

內建:由解釋器自動導入(提供基本功能),可以看作全局變量

 

一.變量與常量

1.1變量的定義:

    1.變量名 python

    2.賦值符號 =

    3.值 666

當定義一個變量"python"時,Python解釋器會開闢一個內存空間存儲變量的值"666",用賦值符號"="來連接變量名與值 。

    1.1.1、變量賦值 *_ 的用法

#列表壓縮
l=[1,2,3,4,5,6]
x,y,z,*_=l      #給x,y,z三個變量賦值爲列表l的前3個值,其中"*_"表示第四位到之後的所有值
print(x,y,z)

>>:1 2 3

#列表壓縮
l=[1,2,3,4,5,6]
*_,x,y=l       #給x,y2個變量賦值爲列表l的最後2個值,其中"*_"表示第一位到倒數第三位的值
print(x,y)

>>:5 6

    1.1.2、把2個變量的值相互替換:

m=10
n=11

m,n=n,m    #把m,n的值調換,即m=11,n=10
print(m,n)

>> :11 10


1.2內存釋放

    1.2.1 引用計數與垃圾回收

    1).python採用"引用計數"和"垃圾回收"兩種機制來管理內存。
    2).引用計數通過記錄對象被引用的次數來管理對象。
    3).對對象的引用都會使得引用計數加1,移除對對象的引用,引用計數則會減1,
    4).當引用計數減爲0時,對象所佔的內存就會被釋放掉。

舉例:

    python=666 ,當666這個值被python這個變量名給引用了,那麼666的引用計數就爲"1"

    python=777,當777這個值被python這個變量名給引用了,那麼777的引用計數就爲"1"。變量名python引用的值變爲了777,那麼666就不再被變量名python所引用了,那麼666的引用計數就爲"0",此時666就會被垃圾回收掉,釋放內存。

 

1.3變量的特徵- 每定義一個變量都有3個特徵

    id        # 身份(一個變量在內存的位置) 一個內存地址對應唯一的一個id

    type   # 數據的類型

    值       #打印一個變量的值:print(變量)

    1.3.1 例子1:定義一個變量age,並打印變量的id type 值

age=18   #完全寫法  age=int(18)
print(id(age),type(age),age)

1584492544 <class 'int'> 18

    那麼得出: id=1584492544  type=int  age=18,[ age=18  等於  age=int(18) ]。

 

    1.3.2 例子2:定義一個變量age,然後定義一個變量age1=age 並打印變量age與age1的id type 值

age=19
age1=age
print(id(age1),type(age1),age1)
print(id(age),type(age),age)

1584492544 <class 'int'> 18
1584492544 <class 'int'> 18

   那麼得出:一個變量age1引用另外一個變量age時,變量(age與age1)的id type 和值都不會改變。

 

   1.3.3 運算符 

    is 判斷id是否相同        #id相等的情況下值相等

    == 判斷值是否相等     #值相等的情況下,id不一定相等       

    例子1:在python3.6交互式環境下,值相等,id不相等

    age='name:szq age:18'               #定義相同的值
    age1='name:szq age:18'             #定義相同的值

    print(id(age1),id(age))                 #打印id

    2010123591408  2010123588656     #但是id不同

    

    例子2:id相等,值相等

age=18
age1=age
print(id(age1),age1)
print(id(age),age)
print(age is age1)

1584492544 18
1584492544 18
True              #爲True說明爲真

 

1.4 常量

1.4.1 常量:不變的量(值),但是常量的值也是可以改變的(常量的字符一般爲大寫,這是一個默認約定,不從語法角度約束)
    常量的字符定義:
    SZQ_AGE_IS=18      #字母全部大寫

 

二.基本運算符

 2.1 算數運算

    

2.2 比較運算

    

2.3 賦值運算

    記住一個:a=a+1   可以寫成  a+=1

                      a=a-1    可以寫成  a-=1 

    

2.4 邏輯運算 and or not

    

    and:左右兩邊同時成立,結果爲真,如果兩邊一個不成立,結果爲假

    or:左右兩邊一個成立,結果爲真,如果兩邊都不成立,結果爲假

    not:相反     #print(not 10 > 3)    得到:False

    執行順序:從左往右依次執行 (先判斷左邊(一個整體),再判斷右邊(一個整體))   如下例子:

print(10 < 3 or 3 < 5 and 3 < 2 and 3 > 1 )

執行的判斷順序:
    1.第一個邏輯運算符爲or ,那麼 先判斷 10 < 3 ,如果不成立則判斷  3 < 5 and 3 < 2 and 3 > 1
    2.在3 < 5 and 3 < 2 and 3 > 1的基礎上,第一個邏輯運算符爲and 那麼先判斷3 < 5,如果不成立則爲假,後面的3 < 2 and 3 > 1就不會在判斷了(第一個爲假則爲假)

 

2.5 補充 字符串也可以使用運算符,只能使用+*

a='aaa'
b='bbb'

print(a + b)
print(a * 10)
print(b * 10)

aaabbb                                # a + b 得到的值(簡單理解:把2個字符串組合起來)
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa        # a * 10 得到的值(簡單理解:字符串aaa*10,得到了30個aaa)
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbb        # a * 10 得到的值(簡單理解:字符串bbb*10,得到了30個bbb)

    注意點:+ 只能接收同類型的數據,也就是字符串

 

三.與用戶交互 input - 默認接受字符串str類型,輸入其他類型的數據時,會報錯

num=input('pls input your num >>:')
print(num,type(num))

pls input your num >>:szq
szq <class 'str'>              #input會把輸入的內容全部存爲字符串類型

   例子1:指定變量的數據類型

age=input('pls input your age >>:')

print(age == 18)
print(type(age))

pls input your age >>:18
False
<class 'str'>

    這裏雖然我輸入了數字18,但是做"age == 18"判斷時,顯示爲False,因爲18傳參給了age,但是input把輸入的數字18存爲了字符串類型,就相當於 '18' == 18 ,因爲字符串類型與整數類型無法做比較,所以顯示爲False

    如何修改,能達到目的:定義字符串類型的值爲int(整數)類型

age=input('pls input your age >>:')
age=int(age)              #這裏指定了無論傳參的內容爲什麼,都會被轉換爲整數類型

print(age == 18)
print(type(age))

pls input your age >>:18    
True
<class 'int'>            #這裏可以看到傳參的內容18的數據類型爲整數性

 這裏也要注意一點,設定age=int(age)後,在輸入非整數類型的數據時會報錯

 

四.格式化輸出 %s - 是可以接收任意類型的數據

name=input('pls input your name >>:')
age=input('pls input your age >>:')
hoppy=input('pls input your hoppy >>:')

print('my name is %s my age is %s my hoppy is %s' %(name,age,hoppy))  #使用%s格式話輸出,在最後用%(name,age,hoppy)傳參

pls input your name >>:sudaa           #接收變量name
pls input your age >>:18               #接收變量age
pls input your hoppy >>:read           #接收變量hoppy 
my name is sudaa my age is 18 my hoppy is read         #輸出內容

注意點:print('my name is %s my age is %s my hoppy is %s' %(name,age,hoppy))

    1.print裏面輸出的內容用引號引起來

    2.格式話輸出%s,最後要用%(變量1,變量2,變量3),來對應前面的%s

    3.格式話輸出%s,是可以接收任意類型的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章