前言:
本教學適用於有一定其它語言基礎的博友,因為程式語言都是相通的,並且Python相比於其它語言應該更容易接受。如果有博友最近需要用Python,本教學可以快速的讓你上手Python開發。但這只是為了簡單應用Python而寫的博文,畢竟每一門程式語言都有它的優秀與閃光處,所以,相比想要真正掌握Python的精髓,本文只能作為簡單入門。
比如C語言:
printf("Hello, World! \n");
C++語言:
cout << "Hello World";
C#語言:
Console.Writeline("Hello, World!");
那麼對於Python語言是:
print ("Hello, Python!")
比如C語言用{}寫模組
if(True)
{
printf("True");//是否縮排都沒關係
}
else
{
print ("False");//是否縮排都沒關係
}
但是,Python用縮排來控制模組
if True:
print ("True")
else:
print ("False")
一般用單引號表示字串,比如:
name='Meekater'
三引號可以由多行組成,編寫多行文字的快捷語法,也就是字串太長的時候,用三引號。比如:
resume=''' 他是一個帥氣的人,帥氣的人,帥氣的人,帥氣的人,帥氣的人,帥氣的人,
帥氣的人,帥氣的人,帥氣的人,帥氣的人,帥氣的人,
帥氣的人,帥氣的人,
帥氣的人,
帥氣的人,
帥氣的人,
帥氣的人... '''
Python 中的變數賦值不需要型別宣告。直譯器會分配指定記憶體,並決定什麼資料可以被儲存在記憶體中(也就是自動識別資料型別)。
counter = 100 # 賦值整型變數
miles = 1000.0 # 浮點型
name = 'John' # 字串
s = 'abcdef'
s = 'abcdef'
s[1:5] #由上圖可以看出 擷取結果為'bcde'
str = 'Hello World!'
print (str * 2) # 輸出字串兩次
print (str + "TEST") # 輸出連線的字串
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ] #這是一個列表,裡面可以裝各種型別的資料
print (list) # 輸出完整列表
print (list[0]) # 輸出列表的第一個元素
print (list[1:3]) # 輸出第二個至第三個元素
print (list[2:]) # 輸出從第三個開始至列表末尾的所有元素
print (tinylist * 2) # 輸出列表兩次
以上範例輸出結果:
['runoob', 786, 2.23, 'john', 70.2]
runoob
[786, 2.23]
[2.23, 'john', 70.2]
[123, 'john', 123, 'john']
['runoob', 786, 2.23, 'john', 70.2, 123, 'john']
tuple = ( 'runoob', 786 , 2.23, 'john', 70.2 )
list = [ 'runoob', 786 , 2.23, 'john', 70.2 ]
tuple[2] = 1000 # 元組中是非法應用,不能修改元組中的值
list[2] = 1000 # 列表中是合法應用,可以修改列表中的值
# 字典定義和賦值方式一
dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"
# 字典定義和賦值方式二
tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}
print dict['one'] # 輸出鍵為'one' 的值
print dict[2] # 輸出鍵為 2 的值
print tinydict # 輸出完整的字典
print tinydict.keys() # 輸出所有鍵
print tinydict.values() # 輸出所有值
舉一個例子,將物件轉為字串
num=6
strNum=str(num)
list = [1, 2, 3, 4, 5 ]
for a in list:
print(a)
name = 'luren'
if name == 'python': # 判斷變數是否為 python
print 'welcome boss' # 並輸出歡迎資訊
else:
print name # 條件不成立時輸出變數名稱
fruits = ['banana', 'apple', 'mango']
for fruit in fruits: #最常用的遍歷列表的方法
print ('當前水果 :', fruit)
count = 0
while (count < 9):
print 'The count is:', count
count = count + 1
def printme( str ):
print str
return
printme("我要呼叫使用者自定義函數!")
printme("再次呼叫同一函數")
我要呼叫使用者自定義函數!
再次呼叫同一函數
可更改(mutable):外部傳入函數中的值,在函數內部的修改會直接影響函數外部值。
不可更改(immutable)物件:外部傳入函數中的值,在函數內部的修改不會影響函數外部值。
在 python 中,strings, tuples, 和 numbers 是不可更改的物件,而 list,dict 等則是可以修改的物件。
不可更改範例:
def ChangeInt( a ):
a = 10 #因為b是numbers型別,因此函數內的修改,並不會影響函數外的值
b = 2
ChangeInt(b)
print b # 結果仍然是 2
def changeme( mylist ):
mylist.append([1,2,3,4]) #因為mylist 是列表型別,因此函數內的修改,會直接影響函數外的值
print "函數內取值: ", mylist
return
# 呼叫changeme函數
mylist = [10,20,30]
changeme( mylist )
print "函數外取值: ", mylist
輸出結果
函數內取值: [10, 20, 30, [1, 2, 3, 4]]
函數外取值: [10, 20, 30, [1, 2, 3, 4]]
一般來說,得到函數計算的結果,才是我們呼叫函數的目的,通過return語句返回函數中我們想要的結果
# 可寫函數說明
def sum( arg1, arg2 ):
# 返回2個引數的和."
total = arg1 + arg2
print "函數內 : ", total
return total
# 呼叫sum函數
total = sum( 10, 20 )
以下是呼叫函數時可使用的正式引數型別:
#可寫函數說明
def printinfo( name, age ):
"列印任何傳入的字串"
print "Name: ", name
print "Age ", age
return
#呼叫printinfo函數
printinfo( "miki" ,50) #傳參順序必須與宣告一致=
#可寫函數說明
def printinfo( name, age ):
"列印任何傳入的字串"
print "Name: ", name
print "Age ", age
return
#呼叫printinfo函數
printinfo( age=50, name="miki" ) #傳參順序可以與宣告不一致=
#可寫函數說明
def printinfo( name, age = 35 ):
"列印任何傳入的字串"
print "Name: ", name
print "Age ", age
return
#呼叫printinfo函數
printinfo( age=50, name="miki" )
printinfo( name="miki" ) # 使用預設引數
# 可寫函數說明
def printinfo( arg1, *vartuple ):
print "輸出: "
print arg1
for var in vartuple:
print var
return
# 呼叫printinfo 函數
printinfo( 10 )
printinfo( 70, 60, 50 ) # 可以傳入不定長的引數70代表arg1的傳參,60和50為不定長vartuple的傳參
import OS
from fib import fibonacci
那麼講到包,Python有幾個優秀的基礎包,也是常用的,比如Numpy ,Pandas是進行機器學習等的必用包,有餘力的,可以在我這兩篇文章中學習。
Python之numpy包學習
python之pandas學習
python最常用的變數型別:字串,列表,字典,你要熟悉。
python的for迴圈,if條件語句,while迴圈你要會用。
python的基本函數你要會寫,能看懂。
python的包你要會調。
大概這些吧…
僅做快速上手,想要精懂Python,還需要很多很多的努力…我也一樣