python編程基礎


python編程基礎

一、python基礎知識

二、文件操作

三、函數

四、面向對象與模塊

 

一、python基礎知識

  語法格式:代碼塊以Tab或空格縮進限制,而不以花括號”{}”等分割代碼

  單行注釋:#我是注釋

  多行注釋:'''多行

        注釋'''

1、變量

(1)Python 中的變量不需要聲明,每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。 

(2)變量  一般由字母、數字和下划線組成;通常第一個字符是字母或下划線‘_’;區分大小寫。

(3)三種賦值方式

  a = 1

  A,b,c = 1,2,"python"

  a = b = c = 1 #多變量賦值

2、數據類型

   

3、python常用操作符

(1)算術操作符

  

(2)賦值操作符

  

(3)比較操作符

  

(4)邏輯操作符

  

  算術操作符一般會返回一個數,而比較和邏輯操作符會返回布爾值True或False。

3、函數    

  

4、字符串(string)

形式:'string1',"string2",'''string3'''

(1)單引號:與雙引號一樣

(2)雙引號:任何在這雙引號之間的文字

(3)三引號:三個引號被用於長段文字或說明,只要引號不結束,你就可以任意換行'

  字符串屬不可變數據類型(不可修改)

字符串的基本用法:

  合並:'char1'+'char2'+'char3'

  重復:'word' * 3

  轉換:int(string)

  切片與索引:str[0],str[-4], str[1:4], str[3:], str[:3]

字符串的方法:

 5、列表(list)

 形式:all_in_list = [ 1, 'a word’, print(1), True, [1,2], ]

(1)列表中每個元素都是可變的;

(2)列表中的元素是有序的,每個元素對應一個位置;

(3)列表可以容納Python中的任何對象。

 列表的操作:增刪改查

  (1)增加

  插入:all_in_list.insert(1,'add1')

  追加:all_in_list.append('add2','add3')

  (2)刪除

    all_in_list.remove('add1')

    all_in_list.remove(all_in_list[0])

    all_in_list.pop('add1')

    del  all_in_list[1:2](左閉右開)

  (3)改

    all_in_list[1] = 'update_value'

  (4)查

    all_in_list[1] 

    all_in_list[1:3](左閉右開)  

  (5)列表的方法

    

 for循環:

(1)創建列表並賦值:

  x = []
  for i in range(10):
   x.append(i)
  print(x)

   

(2)列表推導式

  a = [i for i in range(1,11)]
  print(a)
  b = [i**2 for i in range(1,11)]
  print(b)
  c = [i**2 for i in range(1,11) if i%2==0]
  print(c)  

  

 (3)冒泡排序

對序列[6,5,4,3,2,1]按從小到大順序進行排列。

x = [6,5,4,3,2,1]
n = len(x)
for i in range(n):
for j in range(n):
if x[i] < x[j]:
x[i],x[j]=x[j],x[i]
print(x)

 6、字典(dictionary)

形式:dic = {'key1':'value1','key2':'value2','key3:'value3'}

(1)鍵-值成對出現;

(2)鍵不能重復;

(3)鍵不可更改,值可修改;

(4)鍵來索引值。

字典的操作:增刪改查

(1)增

  dic['key4'] = 'value4'

  dic.update('key5':'value5','key6':'value6')

(2)刪

  del dic['key1']

(3)改

  dic.update('key5':'value15','key6':'value16')

(4)查

  dic['key2']

(5)字典推導式

a = {i:i**2 for i in range(10)}
print(a)

 

二、文件操作

1、打開文件

  使用open函數,可以打開一個已經存在的文件,或者創建一個新文件: open(文件名,訪問模式)

形式:f = open('test.txt', 'w')

2、讀數據

(1)使用read(num)可以從文件中讀取數據,num表示要從文件中讀取的數據的長度(單位是字節),如果沒有傳入num,那么就表示讀取文件中所有的數據

  形式:content = f.read()

(2)readlines可以按照行的方式把整個文件中的內容進行一次性讀取,並且返回的是一個列表,其中每一行的數據為一個元素

  形式:content = f.readlines()

2、寫數據

  使用write()可以完成向文件寫入數據

  形式:f.write('hello world,\n')

3、關閉文件

  使用close()函數,關閉文件,不然文件一直會打開狀態

  形式:f.close()

5、文件操作

 

三、函數

1、函數與方法

  函數:函數是不需要接在對象后面,單獨使用,如int(x),print(x)

  方法:方法是接在對象后面 ,如list.append()

2、函數

(1)函數定義def

  def function(x,y):

    return 'result’

 (2)快速的定義函數 lambda

  函數名 = lambda 參數:操作(直接返回參數)

  l = lambda x:x[1]
  res = l([1,2,3])
  print(res)

  輸出:2

 

四、面向對象與模塊

1、類和對象

  類(class):抽象  如:人類      

  對象:實體   如:小美,小李

  對象是類的實體。

2、面向對象

(1)類

(2)對象

(3)屬性

(4)方法

3、構造類

class Human:
def __init__(self,na=None,se=None):
self.name = na #屬性
self.sex = se
def square(self, x): #方法
return x**2

ss = Human() #實例化類需要帶括號
res = ss.square(3)
res = ss.name
print(res)

4、模塊

  模塊是一個包含所有你定義的函數和變量的文件,其后綴名是.py

(1)安裝

  pip3 install packagename (numpy,pandas)

(2)導入模塊

  import math  #導入數學模塊

  form math import sin #倒數數學模塊中的sin()函數

  import math as mt    #導入模塊重命名

(3)調用

  math.sin(x)

  mt.sin(x)

(4)導入自定義模塊

  先在同目錄下創建一個模塊:

 

   在python.py中調用此模塊

 

練習:自定義一個函數,求序列中的偶數。調用函數輸入[1,2,3,4,5,6],並把結果輸出
def ou_su(l):
list = []
for i in l:
if i % 2 == 0:
list.append(i)
return list
list = ou_su([1,2,3,4,5,6])
print(list)

練習:創建一個矩形Rectangle類, 要求這個類擁有getCircumference方法(計算矩形周長)、getArea方法
(計算矩形面積)。使用創建的類計算長為3,寬為4矩形的周長和面積,且要求把結果打印出來。
class Rectangle:
def __init__(self,x,y):
self.x = x
self.y = y
def getCricumference(self):
return 2*(self.x+self.y)
def getArea(self):
return self.x*self.y
r = Rectangle(3,4)
c = r.getCricumference()
print(c)
a = r.getArea()
print(a)

練習:文檔詞頻統計並排序
import re
txt = txt.lower()
txt = re.sub('[,.:?!\'-]','',txt)
words = txt.split()
words_sq = {}
for i in words:
if i not in words_sq.keys():
words_sq[i] = 1
else:
words_sq[i] +=1
res = sorted(words_sq.items(),key=lambda x:x[1],reverse=True)
print(res)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM