Python 程序設計快速入門簡易教程

Python語言快速檢索

Python的語法簡潔,實用,假設你已有C++程序設計基礎,接下來跟着我走,瞬間學會Python語言,對於信息學競賽的學生可以用Python出隨機數據是非常方便的,如果感興趣,還可以做一些簡單的遊戲。
————因本人也是初學Python,難免有錯誤,敬請諒解和指出————

一些需要知道的事

1、Python區別大小寫
2、Python是通過縮進格式來定於語句塊: // 空的格數任意 但是一定要相同
3、Python裏的列表相當於C++裏的數組
4、Python裏的註釋符號是#

一個簡單的Python程序

首先我們來看一個排序程序

n=int(input())  #輸入一個字符串轉換程數字到n
tmp=[]			#定義一個臨時的字符列表,相當於C++裏的數組
st=input()      #輸入一個字符串到st
tmp=st.split()  #將st字符串以空格分開成多個字符串放到tmp列表裏屈
a=[]			#定義一個列表a用來存放數字
for x in tmp:   #相當於for循環,循環次數取決於tmp裏元素的個數 //for(auto x:tmp)
    a.append(int(x))   #將tmp裏的每個字符串轉換成數字存放在a裏
a.sort()               #將列表a進行排序
for x in a:            #相當於for循環,循環次數取決於a裏元素的個數
    print(x,end=" ")   #打印出每一個數字,後面接一個空格

Python的基本數據類型

整數類型(int),浮點型類型(float),字符串類型(str),布爾類型(bool)
可以用type(x)來查看x的數據類型
>>>x=10
>>>y=3.14
>>>z='hi'
>>>x,y,z,type(x),type(y),type(z)
(10, 3.14, 'hi', <class 'int'>, <class 'float'>, <class 'str'>)

此外還有list,tuple,dict,set等高級數據類型

Python的基本運算符

運算符
+   -   *   /    加減乘除      %   求餘    //    整除     **   冪運算
優先級
1、 **         2、 *   /   %   //      3、+  -
其他:
	1、Python裏有a+=1  沒有a++
	2、字符串裏用 + 號來連接兩個字符串 ''abc'+'dac'的結果是'abcdac'
	3、字符串裏用 * 號來複制N段,如果 'a'*3 的結果是'aaa'

Python的常用函數

1、int()函數,轉換成整型  	  float()函數 ,轉換成浮點數類型
   str()函數,轉換成字符串      bool()函數,轉換成布爾類型
2、round()函數,四捨五入        round(x,y)保留y位小數
   abs()函數,求絕對值          
3、math模塊函數:需要import math 或者from math import * 
   ceil()向上取整,floor()向下取整,sqrt()平方根(// **0.5),radians()角度轉弧度
   degrees()弧度轉角度,sin(),cos(),tan(),asin(),acos(),atan()
4、隨機模塊函數:需要import random或者from random import *
   randint(x,y),生成x——y的一些隨機數,包含x,y
   random()生成0——1之間的隨機小數,包含0,不包含1
 5、時間模塊函數:需要import time
    time()函數,或者當前時間戳,自197001010000起經過的秒數,是個浮點數
    sleep()函數,sleep(x)表示暫停程序執行x秒

import 庫的用法

例如需要使用math模塊內sin()

1. import math   //引用:math.sin()
2. from math import sin   //引用直接用sin()
3. from math import *  sin()   //*表示引用庫中全部內容

分支語句

1、關係表達式:>   <    >=   <=   !=    ==
2、邏輯表達式:and   or   not
   與C++不同的地方是可以寫成這樣:  10>x>3
3、單分支語句:
	if    布爾表達式:
	    語句體
4、雙分支語句:
	if    布爾表達式:
	    語句體
	else:
	    語句體
5、多分支語句:
	第一種方式
	if    布爾表達式1:
	    語句體1
	if    布爾表達式2:
	    語句體2
    if    布爾表達式3:
	    語句體3
	第二種方式
	if    布爾表達式1:
	    語句體1
	elif    布爾表達式2:
	    語句體2
    elif    布爾表達式3:
	    語句體3
	else:
	    語句體4

循環結構

1、語句結構
	while  布爾表達式:
		循環體
2、循環的干預:continue,break

字符串

1、格式化字符串
	用%佔位符格式化字符串
		>>> a=1
		>>> b=2
		>>>print('%d+%d=%d' %(a,b,a+b)
		1+2=3
		#佔位符有%d,%s,%f,小數點保留跟C語言一致 譬如:%.3f
	用format()方法格式化字符串	
		"{}+{}={}".format(a,b,a+b)
		"{a}+{b}={c}".format(a=a,b=b,c=a+b)
2、一些常用函數
	ord()求字符的ASCII碼
	chr()將數字轉換成對應的字符
	isalpha()檢測一個字符串是否全部由字母組成
	isdigit()檢測一個字符出是否全部由數字組成
	isalnum()檢測一個字符串是否全部由字母和數字組成
	islower()判斷一個字符串中的字母是否全部爲小寫
	isupper()判斷一個字符串中的字母是否全部是大寫
	istitle()判斷一個字符串中各英文單詞的首字母是否全部爲大寫
	capitalize()用於將一個字符串中首個英文單詞的首字母變成大寫,其餘字母爲小寫
	title()用於將一個字符串中各個英文單詞的首字母變成大寫,其餘字母爲小寫
	upper()用於將一個字符串中的小寫字母變成大寫字母
	lower()用於將一個字符串中的大寫字母變成小寫字母
	replace()用於將一個字符串的某個字串替換爲另一個字符串,譬如:
	>>>'hello,world'.replace('world','cs')
	'hello,cs'
3、其他:
	轉義字符串:
		'  是 \'  這個時候用 “ 括字符串,譬如  "  it \'s   "
		" 是 \"  這個時候用 ' 括字符串,譬如  '  a\"bc   '
	讀取字符串
	 	用下標讀取,譬如:    s='abc'    可以用s[0]讀取a
	 	使用截取運算符讀取,s[start:end],譬如:  s='abcde'  可以用 s[1:4]讀取bcd,
	 		下標是0開始可以忽略start,也可以忽略end,讀取後面所有,如s[:3]或者s[1:]
	用for...in 語句遍歷,譬如:
		s='abc'
		for c in s: 
			print(c)
    使用in操作符可以判斷一個字符串是否包含在一個字符串中,如:‘ab’ in 'aabcd'
    使用find操作符判斷一個字符串是否包含在一個字符串中,返回位置,如果沒有返回-1

列表的使用

列表類似C++中的數組,譬如生成一個由2~N自然數構成的數表,存放在a中

>>>a=list(range(2,n+1))

列表中的數據類型可以不一致,譬如

>>>a[]=[1,2,3.4,'a','c',['x','y']]

列表的一些操作

#列表的基本操作
>>>a[]=[1,2,3.4,'a','c']
>>>len(a)  #列表大小
5
>>>print(a[1])	#用下標引用元素
2
>>>a[1:4]	#用截取運算符[start:end]訪問列表,截取start到end-1
[2,3.4,'a']
>>>b=[1,2]
>>>b.append(4)	#列表的元素添加,添加在列表最後
>>>b
[1,2,4]
>>>b.insert(3,1)
>>>b
[1,3,2,4]
>>>a.extend(b)	#b列表添加到a列表後面
>>>a
[1,2,3.4,'a','c',1,3,2,4]
>>>x=[1,2]
>>>y=['a','b']
>>>x+y
[1,2,'a','b']

#用for...in語句遍歷列表
>>>for c in x:
		print(c)
1
2
#結合enumertate()函數還可以列出下標	
>>>for i,c in enumeratex(y):
		print(i,c)
0 a
1 b
#結合range()遍歷全表
>>> for i in range(len(y)):
		print(i,y[i])
0 a
1 b
#用in或者not in判斷元素是否在列表中
>>> 'a' in y
True
#用index()方法,從列表中找出第一個匹配元素的下標
>>>a.index(2)
1
#如果要全部找出,用for...in 結合enumerate()
>>>a=[1,2,2,1]
>>>for i,c in enumerate(a):
		if c==2:
			print(i,c)
1 2
2 2
#用pop()方法從列表中移除一個元素,移除最後一個元素
>>>a.pop()
>>>a
[1,2,2]
#用pop(x)方法從列表中指定位置x移除一個元素
>>>a.pop(0)
>>>a
[2,2]
#用remove()方法可以移除與目標相匹配的一個元素
>>>a=['aa','bb','cc']
>>>a.remove('bb')
>>>a
['aa','cc']
#用clear()清除列表中所有元素
>>>a.clear()
>>>a.len(a)
0
#用sort()方法排序
>>>a=[3,1,2]
>>>a.sort()  #a.sort(reverse=True)是降序
>>>a
[1,2,3]
#用sorted()函數可以臨時排序
>>>a=[3,1,2]
>>>b=a.sorted() 
>>>a
[3,1,2]
>>>b
[1,2,3]
#用reverse()可以讓列表反向
>>>a.reverse()
>>>a
[2,1,3]
#用copy()複製列表
>>>a=[1,2]
>>>b=a
>>>b
[1,2]
>>>b[0]=2
>>>a
[2,2]
>>>b
[2,2]
#由此可以看出以上a,b指向同一個列表,不是複製,複製要用copy()
>>>b=a.copy()
#這樣纔是不同的列表
#對列表*操作
>>>b*2
>>>b
[2,2,2,2]
#用max(),min()求列表最大最小值
>>>a=[1,2,3]
>>>max(a)
3
>>>min(a)
1

元組

Python提供一種與列表相近的數據結構叫元組,但是元組不能修改,用()表示

>>>a=(1,2,'a')
>>>a[1]
2
#用tuple()將列表轉換成元組
>>>a=[1,2,3]
>>>b=tuple(a)
>>>b
(1,2,3)

自定義函數

#求和
def f(a,b):
	c=a+b
	return c
a=input()
b=input()
print(f(a,b))
#定義全局變量
def f(a,b):
	global c=a+b
	return c
a=input()
b=input()
print(f(a,b))
print(c)

使用庫編程

常用內部庫有:math,time,random,turtle
外部庫很多:
如:Pillow,Matplotlib,PrettyTable,Tkinter,Easygui,Pygame,Pyglet,OpenCV
外部庫需要安裝:
c:>pip3 install pillow
win10下要用超級用戶
c:>pip3 install pillow --user

Thanks for reading…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章