Python一些基礎的東西1

一、開始
1、命令行模式和交互模式:
命令行模式:

交互模式:在命令行輸入“Python”可以切換到交互模式,即可輸入Python代碼,提示符爲“>>>”。在交互模式中輸入exit()可退出到命令行。

在命令行下可以執行 .py文件,但是需要將目錄切換到py文件所在的目錄。命令行即執行 .py文件中的內容。

2、使用文本編輯器。
notepad是一個很好用的文本工具。
執行 .py文件需要在命令行下執行:

>>>python hello.py

文件名只能是英文字母、數字和下劃線的組合。
如果文件沒有在當前目錄,需要用 cd 命令轉移到文件所在目錄。

3、輸入輸出
輸出print():
可以輸出多個字符用“,”隔開,並且不限制格式。

輸入input:
name = input() 運行到此時,交互界面中可以輸入命令,遇到回車結束輸入,將輸入內容保存在name中。
name = input(“內容”),即提示用戶需要輸入的內容。
注意:input 輸入的是字符串類型,即將字符串賦值給前值。因此要進行計算和處理,需要將input的值轉換爲相應的格式,比如a = int(input()) ,a即爲int型。

二、Python基礎
1. 數據類型和變量。
整型,浮點型,字符串,布爾值(True,False)
字符串:用單引號或者雙引號引起來。如果字符串同時包含雙引號和單引號,那麼需要用轉義字符“ \ ”進行標記。
Python允許使用三引號’’’ … ’’’ 進行寫多行內容。
還允許使用 r’ ’ ,表示’ ’內的字符串默認不轉義。

>>> print('\\\t\\')
\       \
>>> print(r'\\\t\\')
\\\t\\

變量:
變量在程序中就是用一個變量名錶示,變量名必須是大小寫英文、數字和下劃線的組合,且不能用數字開頭。
Python中變量本身類型可以不固定,這種語言稱爲動態語言。

a = 123 #a是整數
print(a)
a = 'ABC' #a變爲字符串
print(a)

*在寫a = ‘ABC’時,Python解釋器幹了兩件事情:
1.在內存中創建了一個’ABC’的字符串;
2.在內存中創建了一個名爲a的變量,並把它指向’ABC’。

變量的指向,先生成一個新的數據,然後變量名指向到新的數據,原數據則會遺失。

  1. 字符串和編碼
    a. py3中字符串是以Unicode編碼的。並且提供了ord() 函數獲取字符的整數信息,chr()把編碼轉換爲相應的字符。
    由於Python的字符串類型是str,在內存中以Unicode表示,一個字符對應若干個字節。如果要在網絡上傳輸,或者保存到磁盤上,就需要把str變爲以字節爲單位的bytes。
    以Unicode表示的str 通過encode() 方法可以編碼爲指定的byte,例如
>>>‘ABC’.encode(‘ascii’)
b’ABC’
>>>’中文’.encode(‘utf-8’)
b’   ’

ASCII編碼針對英文進行,中文編碼範圍超出其範圍,所以需要用Unicode編碼,而utf-8編碼爲變長碼,相對Unicode節省空間。
Python文件前加備註# -- coding: utf-8 -- 提示Python解釋器,按照UTF-8編碼讀取源碼,否則中文可能會亂碼。
b. 格式化輸出
同c語言一樣使用%
‘Hi, %s, you have $%d.’ % (‘Michael’, 1000000)

佔位符 替換內容
%d 整數
%f 浮點數
%s 字符串
%x 十六進制整數
另一種格式化字符串的方法是使用字符串的format()方法,它會用傳入的參數依次替換字符串內的佔位符{0}、{1}……。

>>> 'Hello, {0}, 成績提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成績提升了 17.1%'
  1. list和tuple
    a. list
    list是一種數據類型列表,是一種有序的集合。隨時可以添加和刪除其中的元素。
    classmate = [‘mic’ , ’jj’ , ’sandy’] #每個元素都是string
    列表元素下標索引從0開始。
>>>classmate[0]mic

如果索引越界,則會報錯 IndexError 。最後一個元素的索引爲 len(classmate)-1,也可以直接用 -1 做索引。

>>> classmate.append(‘jay’)

append方法在列表中擴展元素,只能擴展一個元素。

>>> classmate.insert(1,’jack’)

insert 方法在列表中指定位置插入元素

>>> classmate.pop(i)

pop 方法在列表中刪除第i位元素,如果不填充i則刪除最後一個。
也可以用索引替換其中一個元素。
list中的元素類型也可以不同,可以包括各種數據類型的元素。同樣list也可以包含list,擴展成多維list。

b. tuple 元組
tuple 一旦初始化就不能再修改了。沒有append,insert等方法進行修改。
tuple在定義時,裏面的元素就必須被確定下來。

>>> t = (1)  #這樣是定義了一個數 即按( )計算,得到 t = 1;
>>> t=(1,)  #這樣的是定義了一個tulpe,得到 t = (1,)。

tuple的定義必須是用 , 來消除歧義,定義一個tuple。
tuple中元素的指向是不可改變的,但是如果tuple中如果存在list,那麼list的內容可以改變,例如

>>> t = (‘aaa’, ‘bbb’, [‘111’, ‘222’])
>>> t[0]
‘aaa’
>>> t[2]
[‘111’, ’222’]
>>>t[2].append(‘333’)

則t就變成t = (‘aaa’, ‘bbb’, [‘111’, ‘222’, ‘333’])。元組中的列表元素,可以按照列表元素的方法進行修改,但是t[2]指向的還是初始化時的那個list 是不會變的,例如

>>> t[2] = [‘123’]  #將元組中的列表元素換成另一個列表,該語句會報錯。。。
  1. 條件判斷
    a.if語句。語句判斷後要加 : ,之後即爲if的語句塊。
    if語句的格式和其他語言類似。但是對於input來說,由於Python的變量類型問題,需要對input的string類型變量,轉換數據類型與if後的判斷語句相同,否則會報錯,例如:
a = int(input())
if a>60:
    print(‘pass’)
else: 
    print(‘no’)

Python中可以用連續不等號進行判別,比如

a = 20
if 10<a<30:
    print(‘woooo~’)
else:
    print(‘nooooo~’)
  1. 循環
    a. for循環
    for … in … :
    循環體
    依次把list或者tuple中的每個元素迭代出來。所以可以用 for x in [1,2,3,4,5]: 把1-5循環出來。
    可以使用range選取循環列表,以及列表中數字間隔。
range(1,5,2)        #爲1 3
range(1,5)      #爲 1 2 3 4

range(start, stop, step) start 和stop爲從0開始的第n個數(實際數爲n-1)。

b.while循環
結構和其他語言類似。

c.break,continue
break循環中可跳出。
continue 循環中跳過continue以下語句,進行下一次循環。

  1. dict和set
    a.dict字典,在其他語言中也成爲map,使用‘鍵-值’(key-value)的存儲方式。
    字典中key和一個value相對應。
>>> d = {'Michael': 95, 'Bob': 75, 'Tracy': 85}
>>> d['Michael']

95
除了初始化之外,還可以通過key放入新的值。
索引時如果key不存在,則會報錯。於是有兩種查找key是否存在的辦法:
1. in
key in dict 返回值爲TRUE或FALSE
2. get() 方法
dict.get(key, -1) 如果key不存在可以返回None或自己定義的值,如果存在則返回key對應value。
pop方法:使用pop(key)可以刪除字典成員。
注意,字典中的數據存放和順序是沒有關係的,所以不能用索引下標進行索引。
dict可以用在需要高速查找的很多地方,在Python代碼中幾乎無處不在,正確使用dict非常重要,需要牢記的第一條就是dict的key必須是不可變對象。這是因爲dict根據key來計算value的存儲位置,如果每次計算相同的key得出的結果不同,那dict內部就完全混亂了。這個通過key計算位置的算法稱爲哈希算法(Hash)。
在python中字符串和整數都是不可變的,因此可以作爲key,而list是可變的,就不能用作key。

b.set:也是一組key的集合,但不儲存value。由於key不能重複,所以set中不存在相同的key。
set和dict唯一的區別就是set的key沒有對應的value。

s = set([1,2,3])

add()方法: s.add(4) 可以添加key
remuve()方法: s.remove(2) 刪除其中一項。

c.不可變對象。
字符串,整數都是不可變對象。

a = ‘abc’

其中‘abc’是字符串對象,a是變量。字符串是不可變的,所以如果修改a的值,無論以任何操作,都是新建一個對象,然後變量a指向該對象。

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