Python学习--最完整的基础知识大全
##Python學習–最完整的基礎知識大全
關于python的基礎知識學習,網上有很多資料,今天我就把我收藏的整理一下分享給大家!
-
#####菜鳥教程python2
-
#####菜鳥教程python3
-
#####Python2.7 入門指南
-
#####Python3.6 入門指南
-
#####廖雪峰Python教程
-
#####Python100例
-
#####Python中文開發者社區門戶
-
#####W3CPython基礎教程
下面是我基礎學習時的一點記錄:
###python3 循環語句
####1. while
n=10 sum = 0 counter = 1 while counter < n:sum = sum + countercounter += 1 print("1到%d之和為:%d" %(n, sum))#while 循環使用 else 語句 count = 0 while count < 5:print (count, " 小于 5")count = count + 1 else:print (count, " 大于或等于 5")####2. for
#可以使range以指定數字開始并指定不同的增量(甚至可以是負數,有時這也叫做’步長’)
for i in range(0, 10, 3):
print(i)
####3. break和continue
#使用break終止循環
for letter in ‘helloworld’:
if letter == ‘r’:
break
print(“當前字母為:”, letter)
#使用continue跳過循環
for letter in ‘helloworld’:
if letter == ‘l’:
continue
print(“當前字母為:”, letter)
####4. pass語句
#說明:pass就是一條空語句。在代碼段中或定義函數的時候,如果沒有內容,或者先不做任何處理,直接跳過,就可以使用pass。
for letter in ‘helloworld’:
if letter == ‘l’:
pass
print(“執行pass塊”)
print(“當前字母為:”, letter)
####5. 使用enumerate函數進行遍歷
c_list = [12, 34, 56, 78, 90]
for i, j in enumerate(c_list):
print(i, j)
####6. 小練習
#####循環練習
for i in range(1, 6):
for j in range(1, i+1):
print(’*’,end=’’)
print(’\r’)
#####99乘法表
for i in range(1, 10):
for j in range(1, i+1):
print("%d * %d = %d" %(j, i, ij), end=’\t’)
print(’\r’)
#####冒泡排序
def paixu(d_list):
for i in range(0, len(d_list)):
for j in range(i+1, len(d_list)):
if d_list[i] >= d_list[j]:
tmp = d_list[i]
d_list[i] = d_list[j]
d_list[j] = tmp
print(d_list)
li = [32, 23, 65, 32, 76, 79, 56, 89, 12]
paixu(li)
###Python3 迭代器與生成器
####迭代器
迭代器是一個可以記住遍歷的位置的對象。
迭代器對象從集合的第一個元素開始訪問,直到所有的元素被訪問完結束。迭代器只能往前不會后退。
迭代器有兩個基本的方法:iter() 和 next()。
import sysit = iter(c_list) print(c_list) print(next(it)) for x in it:print(x, end=' ')it1 = iter(c_list) while True:try:print(next(it1))except StopIteration:sys.exit()####生成器
在 Python 中,使用了 yield 的函數被稱為生成器(generator)。
調用一個生成器函數,返回的是一個迭代器對象。
在調用生成器運行的過程中,每次遇到 yield 時函數會暫停并保存當前所有的運行信息,返回 yield 的值, 并在下一次執行 next() 方法時從當前位置繼續運行。
#####生成器函數
def fibonacci(n):
a = 0;
b = 1;
counter = 0;
while True:
if (counter > n):
return
yield a
a, b = b, a + b
counter += 1
#生成器函數返回一個迭代器
fibo = fibonacci(10)
###函數
####函數傳入不定長參數
#加了星號(*)的變量名會存放所有未命名的變量參數。如果在函數調用時沒有指定參數,它就是一個空元組。我們也可以不向函數傳遞未命名的變量。
def printinfo(arg1, *vartuple):
“打印任何傳入的參數”
print(“輸出:”)
print(arg1)
for var in vartuple:
print(var)
return
####匿名函數
python 使用 lambda 來創建匿名函數。
所謂匿名,意即不再使用 def 語句這樣標準的形式定義一個函數。
- lambda 只是一個表達式,函數體比 def 簡單很多。
- lambda的主體是一個表達式,而不是一個代碼塊。僅僅能在lambda表達式中封裝有限的邏輯進去。
- lambda 函數擁有自己的命名空間,且不能訪問自己參數列表之外或全局命名空間里的參數。
雖然lambda函數看起來只能寫一行,卻不等同于C或C++的內聯函數,后者的目的是調用小函數時不占用棧內存從而增加運行效率。
sum = lambda arg1, arg2: arg1 + arg2
print(sum(10,20))
###變量的作用域
Python中變量的作用域一共有4種,分別是:
- L (Local) 局部作用域
- E (Enclosing) 閉包函數外的函數中
- G (Global) 全局作用域
- B (Built-in) 內建作用域
以 L –> E –> G –>B 的規則查找,即:在局部找不到,便會去局部外的局部找(例如閉包),再找不到就會去全局找,再者去內建中找。
B = int(2.9) # 內建作用域G = 0 # 全局作用域 def outer():E = 1 # 閉包函數外的函數中def inner():L = 2 # 局部作用域###一個完整的demo
import pickle
import os
我的個人微信訂閱號:【Java編程社區】 歡迎你的加入!
總結
以上是生活随笔為你收集整理的Python学习--最完整的基础知识大全的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python学习--工具介绍
- 下一篇: Java经典面试题总结(一)