python基礎入門(語法基礎)
最近開始整理python的資料,博主建立了一個qq群,希望給大家提供一個交流的同平臺 78486745 。
學習編程語言是很有趣的一件事情,但有2點請一定要謹記:
- 做人靠自己,碼代碼也必須靠自己。能不能成為python大牛,靠的是平時邏輯的訓練和日復一日的碼代碼練出來的;
- 多總結、多思考、多查閱。實現需求的方式有多種,但總會有另一個辦法是更加高效的!
博文內容屬於基礎篇,實時更新,如有地方寫的不好,還請大家批評指正!
python的語法基礎
任何一種編程語言都有自己的一套語法,python也不例外。值得提一句的是,python對字母大小寫是敏感的。
1、python的換行、縮進和註釋
python代碼的組織不像java、C一樣用“{}”來控制模塊,而是用“換行和縮進”來組織模塊,一般情況建議4個空格的縮進。
#who big who print
a = 3
b = 4
if a > b:
print(a)
else:
print(b)
上述代碼中的(#)是python的單行註釋符,如果實現多行註釋,可以用三個(‘)或(“)來實現。特別需要註意的是,python的(’)和(”)使用方法是相同的。
print("#這是單行註釋”)
print(“
‘‘‘
這
是
多
行
註
釋
‘‘‘")
2、python的輸入和輸出
python的輸入和輸出在2.X和3.X這兩個版本裏用法略有不同。
#在3.X版本的python裏,輸入和輸出 name = input("what is your name: ") print(name) #在2.X版本的python裏,輸入和輸出 name = raw_input("what is your name: ") print name
在3.X版本的python中,簡化了輸入的語法,輸出的(print)被內置成了函數,所以函數後邊要有參數傳進來>> print(name),個人覺得這兩個版本的差別只有個別地方的不同,用到時稍微註意下就可以了(習慣問題就只能酸爽的呵呵了)。
3、什麽是變量?
我們回想一下初中時候的代數基礎知識:有個邊長為a的正方形,那麽正方形的面積就是:a*a。這個時候,a就看做是變量,我們給a任意賦一個值,就可以計算出正方形的面積了.
#求邊長為a的正方形面積 a = 3 #把3賦值給邊長a s = a*a #把計算結果賦值給s print(s) #輸出正方形面積s
除此之外,變量可以是其它的任意數據類型,如字符串、布爾、浮點數,甚至是函數。也可以實現變量之間的賦值。
= 3
b = True
c = b
b = a
print(a,b,c)
___________________________________________________________
3 3 True
4、python字符編碼
字符串也是一種數據類型,但是,字符串比較特殊的是還有一個編碼問題。由於計算機是美國人發明的,因此,最早只有127個字母被編碼到計算機裏,也就是大小寫英文字母、數字和一些符號,這個編碼表被稱為"ASCII"編碼,比如大寫字母A的編碼是65,小寫字母z的編碼是122。
但是要處理中文顯然一個字節是不夠的,至少需要兩個字節,而且還不能和ASCII編碼沖突,所以,中國制定了GB2312編碼,用來把中文編進去。可是世界除了英語和中文之外,還有很多語言。因此,Unicode應運而生。Unicode把所有語言都統一到一套編碼裏,這樣就不會再有亂碼問題了。
在計算機內存中,統一使用Unicode編碼,當需要保存到硬盤或者需要傳輸的時候,就轉換為UTF-8編碼。用記事本編輯的時候,從文件讀取的UTF-8字符被轉換為Unicode字符到內存裏,編輯完成後,保存的時候再把Unicode轉換為UTF-8保存到文件:
在最新的Python 3.X版本中,字符串是以Unicode編碼的,也就是說,Python的字符串支持多語言;需要註意的是,在2.X版本裏,需要加一行註釋,否則python2會默認使用ASCII編碼。
# -*- coding:utf-8 -*-
最近開始整理python的資料,博主建立了一個qq群,希望給大家提供一個交流的同平臺 78486745 。
5、python的格式化
最後一個常見的問題是如何輸出格式化的字符串。我們經常會輸出類似"歡迎XXX!您的賬戶余額為:XXX"之類的字符串,而XXX的內容都是根據變量變化的,所以,需要一種簡便的格式化字符串的方式。python的字符串格式化用(%)來實現!
‘Hi, %s, you have $%d.‘ % (‘Michael‘, 1000000)
‘Hi, Michael, you have $1000000.
在字符串內部,%s表示用字符串替換,%d表示用整數替換,有幾個%?占位符,後面就跟幾個變量或者值,順序要對應好。如果只有一個%?,括號可以省略。
6、python基本數據類型
字符串(str)
定義字符串
python字符串的定義是用(”)或(‘)引起來,三個引號也可以定義一個字符串,不同的是後者支持多行編碼。
s0 = "hello"
s1 = ‘ world‘
s3 = ‘‘‘ hello
python‘‘‘
s4 = """ python is
good """
常用的字符串計算
- 1.字符串的加法運算,可以試一下下邊代碼兩個輸出異同點
a = ‘as1d‘
b = ‘fa3s‘
print(a,b)
print(a+b)
- 2.字符串的乘法運算:
a = ‘as1d‘
s = a * 5
print(s)
- 3.字符串大小比較:比較的是ASCII碼的大小。
a = "A"
b = "a"
if a > b:
print(1)
else:
print(0)
- 4.字符串的in運算:判斷某個字符串是否為另外一個字符串的子串
a = ‘qwert‘
b = ‘w‘
if b in a:
print(yes)
else:
print(no)
常用的字符串函數
- index(索引) S.index(substr, [start, [end]])可以通過索引訪問字符串內部的任意元素。
s = "qwertyuiop"
# 012345678910
- python字符串中代表字符串(qwer...)位置的下標,稱之為索引(0123...),運行下面代碼試一下!
s = ‘qwertyuiop‘
print(s[0],s[3],s[9]
- 我們要prints裏的每一個字符串,應該怎麽辦呢?用while循環試一下:
s = "qwertyuiop"
i = 0
while i < len(s):
print s[i]
i += 1
上述代碼中的len()函數返回s字符串的長度值,s[i]代表著當前下標i的元素值。
- slice(切片) 訪問字符串內部任意部分的元素
要訪問s字符串裏的’yu‘字符串應該怎麽實現呢?
s = ‘qwertyuiop‘
print(s[5:7])
#python的切片規則,s[start:end]是瞻前不顧後的
- find(查找) S.find(substr),返回s中substr這個字符串中第一個元素的索引:
s = "qwertyuiop"
a = "io"
t = s.find(a)
print(t)
- split(切片) S.split([sep, [maxsplit]]),以sep為分隔符,把S分成一個list。maxsplit表示分割的次數。默認的分割符為空白字符
s = ‘qwer,tyuiop‘
s.split(",")
- 其它的字符串函數,大家可以在交互一下help(str),返回的是字符串所有的函數方法。
help(str)
列表(list)
列表的常用函數:
append(...)
| L.append(object) -> None -- append object to end
| clear(...)
| L.clear() -> None -- remove all items from L
| copy(...)
| L.copy() -> list -- a shallow copy of L
| count(...)
| L.count(value) -> integer -- return number of occurrences of value
| extend(...)
| L.extend(iterable) -> None -- extend list by appending elements from the iterable
| index(...)
| L.index(value, [start, [stop]]) -> integer -- return first index of value.
| Raises ValueError if the value is not present.
| insert(...)
| L.insert(index, object) -- insert object before index
| pop(...)
| L.pop([index]) -> item -- remove and return item at index (default last).
| Raises IndexError if list is empty or index is out of range.
| remove(...)
| L.remove(value) -> None -- remove first occurrence of value.
| Raises ValueError if the value is not present.
| reverse(...)
| L.reverse() -- reverse *IN PLACE*
| sort(...)
| L.sort(key=None, reverse=False) -> None -- stable sort *IN PLACE*
|
【搜索圓方圓,獲得“python教程”,“python下載”,“python入門”類相關信息。】
python基礎入門(語法基礎)