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)