97干视频,99国产精品懂色,亚洲精品99久久久久中文字幕,伊人五月丁香综合AⅤ,国产精品成人免费999

當(dāng)前位置: 移動互聯(lián)網(wǎng)學(xué)院 > python人工智能 > python入門 > Python入門教程分分鐘拿下Python
Python入門教程分分鐘拿下Python 時間:2018-01-05     來源:Python入門教程分享

如果你現(xiàn)在想學(xué)習(xí)Python這門語言,卻苦于不知該怎樣入門,那么小編今天分享的Python入門教程將帶你分分鐘拿下Python。今天要分享的內(nèi)容介于Python教程與速查手冊之間,因此一些地方只會包含基本的概念,更深層次的知識需要你更深入的學(xué)習(xí)。

Python是什么?

Python是一門具有強(qiáng)類型(即變量類型是強(qiáng)制要求的)、動態(tài)性、隱式類型(不需要做變量聲明)、大小寫敏感(var和VAR代表了不同的變量)以及面向?qū)ο?一切皆為對象)等特點的編程語言。

獲取幫助

你可以很容易的通過Python解釋器獲取幫助。如果你想知道一個對象(object)是如何工作的,那么你所需要做的就是調(diào)用help(<object>)!另外還有一些有用的方法,dir()會顯示該對象的所有方法,還有<object.>__doc__會顯示其文檔:

>>> help(5)

Help on int object:

(etc etc)

>>> dir(5)

['__abs__', '__add__', ...]

>>> abs.__doc__

'abs(number) -> number

Return the absolute value of the argument.'

語法

Python中沒有強(qiáng)制的語句終止字符,且代碼塊是通過縮進(jìn)來指示的?s進(jìn)表示一個代碼塊的開始,逆縮進(jìn)則表示一個代碼塊的結(jié)束。聲明以冒號(:)字符結(jié)束,并且開啟一個縮進(jìn)級別。單行注釋以井號字符(#)開頭,多行注釋則以多行字符串的形式出現(xiàn)。賦值(事實上是將對象綁定到名字)通過等號(“=”)實現(xiàn),雙等號(“==”)用于相等判斷,”+=”和”-=”用于增加/減少運(yùn)算(由符號右邊的值確定增加/減少的值)。這適用于許多數(shù)據(jù)類型,包括字符串。你也可以在一行上使用多個變量。例如:

>>> myvar = 3

>>> myvar += 2

>>> myvar

5

>>> myvar -= 1

>>> myvar

4

"""This is a multiline comment.

The following lines concatenate the two strings."""

>>> mystring = "Hello"

>>> mystring += " world."

>>> print mystring

Hello world.

# This swaps the variables in one line(!).

# It doesn't violate strong typing because values aren't

# actually being assigned, but new objects are bound to

# the old names.

>>> myvar, mystring = mystring, myvar

數(shù)據(jù)類型

Python具有列表(list)、元組(tuple)和字典(dictionaries)三種基本的數(shù)據(jù)結(jié)構(gòu),而集合(sets)則包含在集合庫中(但從Python2.5版本開始正式成為Python內(nèi)建類型)。列表的特點跟一維數(shù)組類似(當(dāng)然你也可以創(chuàng)建類似多維數(shù)組的“列表的列表”),字典則是具有關(guān)聯(lián)關(guān)系的數(shù)組(通常也叫做哈希表),而元組則是不可變的一維數(shù)組(Python中“數(shù)組”可以包含任何類型的元素,這樣你就可以使用混合元素,例如整數(shù)、字符串或是嵌套包含列表、字典或元組)。數(shù)組中第一個元素索引值(下標(biāo))為0,使用負(fù)數(shù)索引值能夠從后向前訪問數(shù)組元素,-1表示最后一個元素。數(shù)組元素還能指向函數(shù)。來看下面的用法:

>>> sample = [1, ["another", "list"], ("a", "tuple")]

>>> mylist = ["List item 1", 2, 3.14]

>>> mylist[0] = "List item 1 again" # We're changing the item.

>>> mylist[-1] = 3.21 # Here, we refer to the last item.

>>> mydict = {"Key 1": "Value 1", 2: 3, "pi": 3.14}

>>> mydict["pi"] = 3.15 # This is how you change dictionary values.

>>> mytuple = (1, 2, 3)

>>> myfunction = len

>>> print myfunction(mylist)

3

你可以使用:運(yùn)算符訪問數(shù)組中的某一段,如果:左邊為空則表示從第一個元素開始,同理:右邊為空則表示到最后一個元素結(jié)束。負(fù)數(shù)索引則表示從后向前數(shù)的位置(-1是最后一個項目),例如:

>>> mylist = ["List item 1", 2, 3.14]

>>> print mylist[:]

['List item 1', 2, 3.1400000000000001]

>>> print mylist[0:2]

['List item 1', 2]

>>> print mylist[-3:-1]

['List item 1', 2]

>>> print mylist[1:]

[2, 3.14]

# Adding a third parameter, "step" will have Python step in

# N item increments, rather than 1.

# E.g., this will return the first item, then go to the third and

# return that (so, items 0 and 2 in 0-indexing).

>>> print mylist[::2]

['List item 1', 3.14]

字符串

Python中的字符串使用單引號(‘)或是雙引號(“)來進(jìn)行標(biāo)示,并且你還能夠在通過某一種標(biāo)示的字符串中使用另外一種標(biāo)示符(例如 “He said ‘hello’.”)。而多行字符串可以通過三個連續(xù)的單引號(”’)或是雙引號(“””)來進(jìn)行標(biāo)示。Python可以通過u”This is a unicode string”這樣的語法使用Unicode字符串。如果想通過變量來填充字符串,那么可以使用取模運(yùn)算符(%)和一個元組。使用方式是在目標(biāo)字符串中從左至右使用%s來指代變量的位置,或者使用字典來代替,示例如下:

>>>print "Name: %s\

Number: %s\

String: %s" % (myclass.name, 3, 3 * "-")

Name: Poromenos

Number: 3

String: ---

strString = """This is

a multiline

string."""

# WARNING: Watch out for the trailing s in "%(key)s".

>>> print "This %(verb)s a %(noun)s." % {"noun": "test", "verb": "is"}

流程控制

Python中可以使用if、for和while來實現(xiàn)流程控制。Python中并沒有select,取而代之使用if來實現(xiàn)。使用for來枚舉列表中的元素。如果希望生成一個由數(shù)字組成的列表,則可以使用range()函數(shù)。以下是這些聲明的語法示例:

rangelist = range(10)

>>> print rangelist

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

for number in rangelist:

# Check if number is one of

# the numbers in the tuple.

if number in (3, 4, 7, 9):

# "Break" terminates a for without

# executing the "else" clause.

break

else:

# "Continue" starts the next iteration

# of the loop. It's rather useless here,

# as it's the last statement of the loop.

continue

else:

# The "else" clause is optional and is

# executed only if the loop didn't "break".

pass # Do nothing

if rangelist[1] == 2:

print "The second item (lists are 0-based) is 2"

elif rangelist[1] == 3:

print "The second item (lists are 0-based) is 3"

else:

print "Dunno"

while rangelist[1] == 1:

pass

函數(shù)

函數(shù)通過“def”關(guān)鍵字進(jìn)行聲明?蛇x參數(shù)以集合的方式出現(xiàn)在函數(shù)聲明中并緊跟著必選參數(shù),可選參數(shù)可以在函數(shù)聲明中被賦予一個默認(rèn)值。已命名的參數(shù)需要賦值。函數(shù)可以返回一個元組(使用元組拆包可以有效返回多個值)。Lambda函數(shù)是由一個單獨(dú)的語句組成的特殊函數(shù),參數(shù)通過引用進(jìn)行傳遞,但對于不可變類型(例如元組,整數(shù),字符串等)則不能夠被改變。這是因為只傳遞了該變量的內(nèi)存地址,并且只有丟棄了舊的對象后,變量才能綁定一個對象,所以不可變類型是被替換而不是改變(譯者注:雖然Python傳遞的參數(shù)形式本質(zhì)上是引用傳遞,但是會產(chǎn)生值傳遞的效果)。例如:

# 作用等同于 def funcvar(x): return x + 1

funcvar = lambda x: x + 1

>>> print funcvar(1)

2

# an_int 和 a_string 是可選參數(shù),它們有默認(rèn)值

# 如果調(diào)用 passing_example 時只指定一個參數(shù),那么 an_int 缺省為 2 ,a_string 缺省為 A default string。如果調(diào)用 passing_example 時指定了前面兩個參數(shù),a_string 仍缺省為 A default string。

# a_list 是必備參數(shù),因為它沒有指定缺省值。

def passing_example(a_list, an_int=2, a_string="A default string"):

a_list.append("A new item")

an_int = 4

return a_list, an_int, a_string

>>> my_list = [1, 2, 3]

>>> my_int = 10

>>> print passing_example(my_list, my_int)

([1, 2, 3, 'A new item'], 4, "A default string")

>>> my_list

[1, 2, 3, 'A new item']

>>> my_int

10

Python支持有限的多繼承形式。私有變量和方法可以通過添加至少兩個前導(dǎo)下劃線和最多尾隨一個下劃線的形式進(jìn)行聲明(如“__spam”,這只是慣例,而不是Python的強(qiáng)制要求)。當(dāng)然,我們也可以給類的實例取任意名稱。例如:

class MyClass(object):

common = 10

def __init__(self):

self.myvariable = 3

def myfunction(self, arg1, arg2):

return self.myvariable

# This is the class instantiation

>>> classinstance = MyClass()

>>> classinstance.myfunction(1, 2)

3

# This variable is shared by all classes.

>>> classinstance2 = MyClass()

>>> classinstance.common

10

>>> classinstance2.common

10

# Note how we use the class name

# instead of the instance.

>>> MyClass.common = 30

>>> classinstance.common

30

>>> classinstance2.common

30

# This will not update the variable on the class,

# instead it will bind a new object to the old

# variable name.

>>> classinstance.common = 10

>>> classinstance.common

10

>>> classinstance2.common

30

>>> MyClass.common = 50

# This has not changed, because "common" is

# now an instance variable.

>>> classinstance.common

10

>>> classinstance2.common

50

# This class inherits from MyClass. The example

# class above inherits from "object", which makes

# it what's called a "new-style class".

# Multiple inheritance is declared as:

# class OtherClass(MyClass1, MyClass2, MyClassN)

class OtherClass(MyClass):

# The "self" argument is passed automatically

# and refers to the class instance, so you can set

# instance variables as above, but from inside the class.

def __init__(self, arg1):

self.myvariable = 3

print arg1

>>> classinstance = OtherClass("hello")

hello

>>> classinstance.myfunction(1, 2)

3

# This class doesn't have a .test member, but

# we can add one to the instance anyway. Note

# that this will only be a member of classinstance.

>>> classinstance.test = 10

>>> classinstance.test

10

異常

Python中的異常由 try-except [exceptionname] 塊處理,例如:

def some_function():

try:

# Division by zero raises an exception

10 / 0

except ZeroDivisionError:

print "Oops, invalid."

else:

# Exception didn't occur, we're good.

pass

finally:

# This is executed after the code block is run

# and all exceptions have been handled, even

# if a new exception is raised while handling.

print "We're done with that."

>>> some_function()

Oops, invalid.

We're done with that.

導(dǎo)入

外部庫可以使用 import [libname] 關(guān)鍵字來導(dǎo)入。同時,你還可以用 from [libname] import [funcname] 來導(dǎo)入所需要的函數(shù)。例如:

import random

from time import clock

randomint = random.randint(1, 100)

>>> print randomint

64

文件I / O

Python針對文件的處理有很多內(nèi)建的函數(shù)庫可以調(diào)用。例如,這里演示了如何序列化文件(使用pickle庫將數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為字符串):

import pickle

mylist = ["This", "is", 4, 13327]

# Open the file C:\\binary.dat for writing. The letter r before the

# filename string is used to prevent backslash escaping.

myfile = open(r"C:\\binary.dat", "w")

pickle.dump(mylist, myfile)

myfile.close()

myfile = open(r"C:\\text.txt", "w")

myfile.write("This is a sample string")

myfile.close()

myfile = open(r"C:\\text.txt")

>>> print myfile.read()

'This is a sample string'

myfile.close()

# Open the file for reading.

myfile = open(r"C:\\binary.dat")

loadedlist = pickle.load(myfile)

myfile.close()

>>> print loadedlist

['This', 'is', 4, 13327]

其它雜項

數(shù)值判斷可以鏈接使用,例如 1<a<3

可以使用 del 刪除變量或刪除數(shù)組中的元素。

列表推導(dǎo)式(List Comprehension)提供了一個創(chuàng)建和操作列表的有力工具。列表推導(dǎo)式由一個表達(dá)式以及緊跟著這個表達(dá)式的for語句構(gòu)成,for語句還可以跟0個或多個if或for語句,來看下面的例子:

>>> lst1 = [1, 2, 3]

>>> lst2 = [3, 4, 5]

>>> print [x * y for x in lst1 for y in lst2]

[3, 4, 5, 6, 8, 10, 9, 12, 15]

>>> print [x for x in lst1 if 4 > x > 1]

[2, 3]

# Check if an item has a specific property.

# "any" returns true if any item in the list is true.

>>> any([i % 3 for i in [3, 3, 4, 4, 3]])

True

# This is because 4 % 3 = 1, and 1 is true, so any()

# returns True.

# Check how many items have this property.

>>> sum(1 for i in [3, 3, 4, 4, 3] if i == 4)

2

>>> del lst1[0]

>>> print lst1

[2, 3]

>>> del lst1

全局變量在函數(shù)之外聲明,并且可以不需要任何特殊的聲明即能讀取,但如果你想要修改全局變量的值,就必須在函數(shù)開始之處用global關(guān)鍵字進(jìn)行聲明,否則Python會將此變量按照新的局部變量處理(請注意,如果不注意很容易被坑)。例如:

number = 5

def myfunc():

# This will print 5.

print number

def anotherfunc():

# This raises an exception because the variable has not

# been bound before printing. Python knows that it an

# object will be bound to it later and creates a new, local

# object instead of accessing the global one.

print number

number = 3

def yetanotherfunc():

global number

# This will correctly change the global.

number = 3

今天關(guān)于Python入門教程就分享到這里了,當(dāng)然了想要學(xué)好Python你必須在此教程的基礎(chǔ)上再學(xué)習(xí)更多更深入的知識,才能真正掌握Python這門技術(shù)。

前臺專線:010-82525158 企業(yè)培訓(xùn)洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠(yuǎn)見科技發(fā)展有限公司 版權(quán)所有 ,京ICP備16055225號-5,京公海網(wǎng)安備11010802025203號