程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

Python-基礎知識匯集

編輯:Python

1.列表

列表是最常用的Python數據類型,它可以作為一個方括號內的逗號分隔值出現。

列表的數據項不需要具有相同的類型

創建一個列表,只要把逗號分隔的不同的數據項使用方括號括起來即可

代碼理解:列表的索引,列表數據的增刪改,以及列表推導式的使用

# 列表
all_in_list=[0.3,'hello','True']
print('列表數據為:',end='')
print(all_in_list) # 正向索引從開始
res=all_in_list[0]
print('all_in_list[0]的值為:',end='')
print(res)
# 反向所有從-1開始
res=all_in_list[-2]
print('all_in_list[-2]的值為:',end='')
print(res)
# 列表的切片,左閉右開
res=all_in_list[0:2]
print('all_in_list[0:2]的切片值為:',end='')
print(res) # 末尾新增元素
all_in_list.append('hello world')
# 指定位置前插入元素,成為指定位置上的元素
all_in_list.insert(0,'pre-hello')
print('添加新元素後為:',end='')
print(all_in_list) # 刪除元素
all_in_list.remove('hello world')
# 刪除前兩個元素
del all_in_list[:2]
print('刪除元素後為:',end='')
print(all_in_list) # 修改元素值
all_in_list[0]=100
print('修改元素後為:',end='')
print(all_in_list) # for循環
x=[]
for i in range(10):
x.append(i) print('for循環添加元素後為:',end='')
print(x) #列表推導式
b=[i for i in range(1,11)]
c=[i**2 for i in range(1,11)]
d=[i**2 for i in range(1,11) if i%2==0]
print('各個列表推導式的值為:',end='')
print(b)
print(c)
print(d) #練習1:求曲邊梯形的面積
import math
n=10000
width=2*math.pi/n
# 方法一:利用for循環構建核心數據結構
x=[]
y=[]
for i in range(n):
x.append(i*width)
for i in x:
y.append(abs(math.sin(i)))
S=sum(y)*width
print('方法一曲邊梯形的面積為:',end='')
print(S)
# 方法二:利用列表推導式構建核心數據結構
s=[abs(math.sin(i*width))*width for i in range(n)]
print('方法二曲邊梯形的面積為:',end='')
print(sum(s))

代碼運行結果

2.操作符

Python語言常用以下類型的運算符:算術運算符、比較關系操作符、賦值操作符、邏輯操作符

代碼理解:邏輯控制符、字符串的包含in、條件判斷語句、冒泡排序的交換值操作

# Python邏輯控制符
res=1<2
print('1<2的正確性:',end='')
print(res)
res=1<2<3
print('1<2<3的正確性:',end='')
print(res)
res='Name'=='name'
print("'Name'=='name'的正確性:",end='')
print(res)
res='M' in 'magic'
print("'M'在'magic'裡的正確性:",end='')
print(res) # 條件判定語句
if 1<2:
print('如果1<2正確,則輸出:', end='')
print('1.hello') if 1<0:
print('如果1<0正確,則輸出:', end='')
print('2.hello')
else:
print('如果1<0不正確,則輸出:', end='')
print('2.world') if 1<0:
print('如果1<0正確,則輸出:', end='')
print('3.hello')
elif 2<1:
print('如果1<0不正確,但2<1正確,則輸出:', end='')
print('3.world')
else:
print('如果1<0不正確,且2<1也不正確,則輸出:', end='')
print('3.hehe') # 冒泡排序
x=[1,2,6,0.3,2,0.5,-1,2.4]
print('冒泡排序前值為:', end='')
print(x)
n=len(x)
for i in range(n):
for j in range(i):
if x[j]>x[i]:
# 交換值
x[i],x[j]=x[j],x[i] print('冒泡排序後值為:', end='')
print(x)

代碼運行結果

3.字典

字典是另一種可變容器模型,且可存儲任意類型對象。

字典的每個鍵值 key:value 對用冒號 : 分割,每個鍵值對之間用逗號 , 分割,整個字典包括在花括號 {} 中 ,格式如下所示:d = {key1 : value1, key2 : value2 }

代碼理解:根據字典索引值,修改值,添加值,刪除值,以及字典推導式生成字典

# 字典
dic={'h':'hello',0.5:[0.2,0.3],'w':'world'}
print('字典數據為:',end='')
print(dic) #根據鍵索引值
res=dic['h']
print("dic['h']對應的值為:",end='')
print(res)
# 根據鍵修改一個元素
dic['h']=100
print("修改後的字典為:",end='')
print(dic)
# 添加一個元素
dic['hw']='hello world'
print("添加一個鍵值後的字典為:",end='')
print(dic)
# 同時添加多個元素
dic.update({1:2,3:4})
print("添加多個鍵值後的字典為:",end='')
print(dic)
# 根據鍵刪除某個元素
del dic['h']
print("刪除鍵值後的字典為:",end='')
print(dic) # 字典推導式
a={i:i**2 for i in range(10)}
print("使用字典推導式生成的字典為:",end='')
print(a)

代碼運行結果

4.字符串

字符串是 Python 中最常用的數據類型。我們可以使用引號 ( '" ) 來創建字符串。

創建字符串很簡單,只要為變量分配一個值即可。

代碼理解:字符串帶換行和不帶換行的兩種生成方式、字符串的索引,拼接基本操作、字符串分割、字符串全轉為小寫

# 字符串,雙引號字符串和單引號無區別
string="My name"
print('生成的字符串為:'+string)
# 三引號可以進行換行
string='''My name
'''
print('生成的有換行的字符串為:'+string)
string='My name'
print('單引號與雙引號生成的字符串相同,它為:'+string)
print(string)
# 索引字符串第一個元素
print('字符串第一個元素為:'+string[0])
# 索引字符串前兩個元素
print('字符串前兩個元素為:'+string[:2])
# 重復兩次字符串
print('重復兩次字符串為:'+string*2)
# 拼接字符串
print('拼接字符串為:',end='')
print(string+' is xxx') # 分割字符串,根據逗號進行分割, 返回結果為列表
res=string.split(sep=',')
print('根據逗號進行分割字符串後為:',end='')
print(1,string)
# 將字符串字母全部變成小寫
res=string.lower()
print('將字符串字母全部變成小寫為:',end='')
print(res)

代碼運行結果

5.文件

代碼理解

# 文件操作
f=open("Walden.txt","r")
# 讀取文件內容
txt=f.read()
print(txt)
# 讀取文件內容的前100行
txt=f.read(100)
print(txt)
f.close()
# 逐行讀取文件內容,並返回列表
f=open("Walden.txt","r")
txt_lines=f.readlines()
print(txt_lines)
f.close() #練習3:讀取小說中的單詞頻次
import re
f=open("Walden.txt","r")
# 讀取進來的數據類型是字符串
txt=f.read()
f.close()
# 將字符串中字符變為小寫
txt=txt.lower()
# 去除小說中的標點符號
txt=re.sub('[,.?:“\’!-]','',txt)
# 單詞分割
words=txt.split()
word_sq={}
for i in words:
if i not in word_sq.keys():
word_sq[i]=1
else:
word_sq[i]+=1
# 排序
res=sorted(word_sq.items(),key=lambda x:x[1],reverse=True)
print(res)

6.函數

你可以定義一個由自己想要功能的函數,以下是簡單的規則:

  • 函數代碼塊以 def 關鍵詞開頭,後接函數標識符名稱和圓括號()
  • 任何傳入參數和自變量必須放在圓括號中間。圓括號之間可以用於定義參數。
  • 函數的第一行語句可以選擇性地使用文檔字符串—用於存放函數說明。
  • 函數內容以冒號起始,並且縮進。
  • return [表達式] 結束函數,選擇性地返回一個值給調用方。不帶表達式的return相當於返回 None。

代碼理解

#函數自定義
#第一種方式
def Sum(x,y):
return x+y # 第二種方式,函數的簡單自定義
# 返回x的平方
y=lambda x:x**2
# 返回x的第一個元素
y1=lambda x:x[1] res=Sum(1,2)
print(res)
res=y(10)
print(res)
res=y1(['hello',0])
print(res) #練習4:自定義求序列偶數個數的函數
def su(x):
z=0
for i in x:
if i%2==0:
z+=1
return z
res=su([1,2,3,4,5,6])
print(res)

7.面向對象

面向對象的一些基本特征:

  • 類(Class): 用來描述具有相同的屬性和方法的對象的集合。它定義了該集合中每個對象所共有的屬性和方法。對象是類的實例。
  • 類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體之外。類變量通常不作為實例變量使用。
  • 數據成員:類變量或者實例變量, 用於處理類及其實例對象的相關的數據。
  • 方法重寫:如果從父類繼承的方法不能滿足子類的需求,可以對其進行改寫,這個過程叫方法的覆蓋(override),也稱為方法的重寫。
  • 局部變量:定義在方法中的變量,只作用於當前實例的類。
  • 實例變量:在類的聲明中,屬性是用變量來表示的。這種變量就稱為實例變量,是在類聲明的內部但是在類的其他成員方法之外聲明的。
  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也允許把一個派生類的對象作為一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關系(例圖,Dog是一個Animal)。
  • 實例化:創建一個類的實例,類的具體對象。
  • 方法:類中定義的函數。
  • 對象:通過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。

代碼理解

# 方法與函數的區別
all_in_list=[2.5,'hello','world',3]
string='My name'
all_in_list.append('hehe')
#對於字符串對象而言,是沒有append方法的
#string.append('Y’) res=string.split()
# split是一個方法,是字符串對象才有的一種方法
#all_in_list.split()
print(all_in_list)
print(res) # 面向對象
class Human:
def __init__(self,ag=None,se=None):
# 類的屬性
self.age=ag
self.sex=se
# 類的方法
def square(self,x):
return x**2 zhangfei=Human(ag=23,se='男')
res=zhangfei.square(10)
print(res)
res=zhangfei.age
print(res)
res=zhangfei.sex
print(res)

Python-基礎知識匯集的更多相關文章

  1. Python開發【第二篇】:Python基礎知識

    Python基礎知識 一.初識基本數據類型 類型: int(整型) 在32位機器上,整數的位數為32位,取值范圍為-2**31-2**31-1,即-2147483648-2147483647 在64位 ...

  2. python基礎知識(二)

    以下內容,作為python基礎知識的補充,主要涉及基礎數據類型的創建及特性,以及新數據類型Bytes類型的引入介紹

  3. python 基礎知識(一)

    python 基礎知識(一) 一.python發展介紹 Python的創始人為Guido van Rossum.1989年聖誕節期間,在阿姆斯特丹,Guido為了打發聖誕節的無趣,決心開發一個新的腳本 ...

  4. python基礎知識講解——@classmethod和@staticmethod的作用

    python基礎知識講解——@classmethod和@staticmethod的作用 在類的成員函數中,可以添加@classmethod和@staticmethod修飾符,這兩者有一定的差異,簡單來 ...

  5. python爬蟲主要就是五個模塊:爬蟲啟動入口模塊,URL管理器存放已經爬蟲的URL和待爬蟲URL列表,html下載器,html解析器,html輸出器 同時可以掌握到urllib2的使用、bs4(BeautifulSoup)頁面解析器、re正則表達式、urlparse、python基礎知識回顧(set集合操作)等相關內容。

    本次python爬蟲百步百科,裡面詳細分析了爬蟲的步驟,對每一步代碼都有詳細的注釋說明,可通過本案例掌握python爬蟲的特點: 1.爬蟲調度入口(crawler_main.py) # coding: ...

  6. python 爬蟲與數據可視化--python基礎知識

    摘要:偶然機會接觸到python語音,感覺語法簡單.功能強大,剛好朋友分享了一個網課<python 爬蟲與數據可視化>,於是在工作與閒暇時間學習起來,並做如下課程筆記整理,整體大概分為4個 ...

  7. python基礎知識小結-運維筆記

    接觸python已有一段時間了,下面針對python基礎知識的使用做一完整梳理:1)避免‘\n’等特殊字符的兩種方式: a)利用轉義字符‘\’ b)利用原始字符‘r’ print r'c:\now' ...

  8. Python基礎知識(五)

    # -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春藥# @Email : [email protected]# @Fi ...

  9. Python基礎知識(Basic knowledge)

    Python基礎知識(Basic knowledge) 1.認識Python&基礎環境搭建 2.Python基礎(上) 3.Python基礎(中) 4.Python基礎(下) 5.Python ...

  10. Python 基礎知識(一)

    1.Python簡介 1.1.Python介紹 python的創始人為吉多·范羅蘇姆(Guido van Rossum).1989年的聖誕節期間,吉多·范羅蘇姆(中文名字:龜叔)為了在阿姆斯特丹打發時 ...

隨機推薦

  1. 1089 最長回文子串 V2(Manacher算法)

    1089 最長回文子串 V2(Manacher算法) 基准時間限制:1 秒 空間限制:131072 KB 分值: 0 難度:基礎題  收藏  關注 回文串是指aba.abba.cccbccc.aaaa ...

  2. c# XML和實體類之間相互轉換(序列化和反序列化)[磚]

    link: http://blog.okbase.net/haobao/archive/62.html by: 好飽 我們需要在XML與實體類,DataTable,List之間進行轉換,下面是XmlU ...

  3. hdoj 2066 一個人的旅行

    Problem Description 雖然草兒是個路癡(就是在杭電待了一年多,居然還會在校園裡迷路的人,汗~),但是草兒仍然很喜歡旅行,因為在旅途中 會遇見很多人(白馬王子,^0^),很多事,還能豐 ...

  4. WPF4.5 中的新增功能和增強功能的信息

    本主題包含有關 Windows Presentation Foundation (WPF) 版本 4.5 中的新增功能和增強功能的信息. 本主題包含以下各節: 功能區控件 改善性能,當顯示大時設置分組 ...

  5. spring-data-mongodb一個系統xml文件裡面配置兩個數據源

    spring-data-mongodb一個系統xml文件裡面配置兩個數據源 參考文檔如下: http://www.iteye.com/problems/92789 http://stackoverfl ...

  6. 在VB6/VBA中使用正則表達式

    一.關於起因 最近在Office的QQ群裡問如何在一串字符串中提取數值並加總的問題.如果使用正則表達式可以非常迅速的解決這個問題. 那麼今天我就探討一下在VB6/VBA中使用正則表達式的方法及代碼,另 ...

  7. python 基本模塊

    time & datetime模塊 import timeimport datetime# ## # print("ss")# #time.sleep(5)# # prin ...

  8. spring boot一個簡單用戶管理DEMO

    概述 該Demo旨在部署一個簡單spring boot工程,包含數據編輯和查看功能 POM配置 <?xml version="1.0" encoding="UTF- ...

  9. [LeetCode] Array Partition I 數組分割之一

    Given an array of 2n integers, your task is to group these integers into n pairs of integer, say (a1 ...

  10. 簡單介紹Excel單元格行列指示的實現原理(俗稱聚光燈功能)

    原始出處:www.cnblogs.com/Charltsing/p/CellLight.html QQ:564955427 Excel單元格行列指示的實現原理(俗稱聚光燈功能) 單元格行列指示功能在錄 ...


  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved