• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

               C++ 技術(shù)中心

               :: 首頁 :: 聯(lián)系 ::  :: 管理
              160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

            公告

            鄭重聲明:本BLOG所發(fā)表的原創(chuàng)文章,作者保留一切權(quán)利。必須經(jīng)過作者本人同意后方可轉(zhuǎn)載,并注名作者(天空)和出處(CppBlog.com)。作者Email:coder@luckcoder.com

            留言簿(27)

            搜索

            •  

            最新隨筆

            最新評論

            評論排行榜

            轉(zhuǎn) Python3中文教程

            Python已經(jīng)是3.1版本了,與時(shí)俱進(jìn)更新教程.

            • 本文適合有Java編程經(jīng)驗(yàn)的程序員快速熟悉Python
            • 本文程序在windows xp+python3.1a1 測試通過.
            • 本文提到的idle指python shell,即安裝python后你在菜單看到的IDLE(python gui)
            • 在idle里ctrl+n可以打開一個(gè)新窗口,輸入源碼后ctrl+s可以保存,f5運(yùn)行程序.
            • 凡打開新窗口即指ctrl+n的操作.

             

            1 你好

            #打開新窗口,輸入:

            #! /usr/bin/python
            #
             -*- coding: utf8 -*- 
            s1=input("Input your name:")
            print("你好,%s" % s1)

            '''
            知識點(diǎn):
                * input("某字符串")函數(shù):顯示"某字符串",并等待用戶輸入.
                * print()函數(shù):如何打印.
                * 如何應(yīng)用中文
                
            * 如何用多行注釋
            '''    

            2 字符串和數(shù)字

            但有趣的是,在javascript里我們會理想當(dāng)然的將字符串和數(shù)字連接,因?yàn)槭莿討B(tài)語言嘛.但在Python里有點(diǎn)詭異,如下:

            #! /usr/bin/python

            a
            =2
            b
            ="test"
            c
            =a+b


            運(yùn)行這行程序會出錯(cuò),提示你字符串和數(shù)字不能連接,于是只好用內(nèi)置函數(shù)進(jìn)行轉(zhuǎn)換

            #! /usr/bin/python
            #
            運(yùn)行這行程序會出錯(cuò),提示你字符串和數(shù)字不能連接,于是只好用內(nèi)置函數(shù)進(jìn)行轉(zhuǎn)換
            a=2
            b
            ="test"
            c
            =str(a)+b
            d
            ="1111"
            e
            =a+int(d)
            #How to print multiply values
            print ("c is %s,e is %i" % (c,e))
            '''
            知識點(diǎn):

                * 用int和str函數(shù)將字符串和數(shù)字進(jìn)行轉(zhuǎn)換
                * 打印以#開頭,而不是習(xí)慣的//
                * 打印多個(gè)參數(shù)的方式
                
            '''



            3 列表

            #! /usr/bin/python
            #
             -*- coding: utf8 -*-
            #
            列表類似Javascript的數(shù)組,方便易用

            #定義元組
            word=['a','b','c','d','e','f','g']

            #如何通過索引訪問元組里的元素
            a=word[2]
            print ("a is: "+a)
            b
            =word[1:3]
            print ("b is: ")
            print (b) # index 1 and 2 elements of word.
            c=word[:2]
            print ("c is: ")
            print (c) # index 0 and 1 elements of word.
            d=word[0:]
            print ("d is: ")
            print (d) # All elements of word.

            #元組可以合并
            e=word[:2]+word[2:]
            print ("e is: ")
            print (e) # All elements of word.
            f=word[-1]
            print ("f is: ")
            print (f) # The last elements of word.
            g=word[-4:-2]
            print ("g is: ")
            print (g) # index 3 and 4 elements of word.
            h=word[-2:]
            print ("h is: ")
            print (h) # The last two elements.
            i=word[:-2]
            print ("i is: ")
            print (i) # Everything except the last two characters
            l=len(word)
            print ("Length of word is: "+ str(l))
            print ("Adds new element")
            word.append(
            'h')
            print (word)

            #刪除元素
            del word[0]
            print (word)
            del word[1:3]
            print (word)

            '''
            知識點(diǎn):

                * 列表長度是動態(tài)的,可任意添加刪除元素.
                * 用索引可以很方便訪問元素,甚至返回一個(gè)子列表
                * 更多方法請參考Python的文檔
            '''



            4 字典

            #! /usr/bin/python

            x
            ={'a':'aaa','b':'bbb','c':12}
            print (x['a'])
            print (x['b'])
            print (x['c'])

            for key in x:
                
            print ("Key is %s and value is %s" % (key,x[key]))
                
            '''
            知識點(diǎn):

                * 將他當(dāng)Java的Map來用即可.

            '''



            5 字符串

            比起C/C++,Python處理字符串的方式實(shí)在太讓人感動了.把字符串當(dāng)列表來用吧.

            #! /usr/bin/python

            word="abcdefg"
            a
            =word[2]
            print ("a is: "+a)
            b
            =word[1:3]
            print ("b is: "+b) # index 1 and 2 elements of word.
            c=word[:2]
            print ("c is: "+c) # index 0 and 1 elements of word.
            d=word[0:]
            print ("d is: "+d) # All elements of word.
            e=word[:2]+word[2:]
            print ("e is: "+e) # All elements of word.
            f=word[-1]
            print ("f is: "+f) # The last elements of word.
            g=word[-4:-2]
            print ("g is: "+g) # index 3 and 4 elements of word.
            h=word[-2:]
            print ("h is: "+h) # The last two elements.
            i=word[:-2]
            print ("i is: "+i) # Everything except the last two characters
            l=len(word)
            print ("Length of word is: "+ str(l))


            中文和英文的字符串長度是否一樣?

            #! /usr/bin/python
            #
             -*- coding: utf8 -*- 

            s
            =input("輸入你的中文名,按回車?yán)^續(xù)");
            print ("你的名字是  : " +s)

            l
            =len(s)
            print ("你中文名字的長度是:"+str(l))


            知識點(diǎn):

            • 類似Java,在python3里所有字符串都是unicode,所以長度一致.

             

            6 條件和循環(huán)語句

             
            #
            ! /usr/bin/python
            #條件和循環(huán)語句

            x=int(input("Please enter an integer:"))
            if x<0:
                x
            =0
                
            print ("Negative changed to zero")

            elif x==0:
                
            print ("Zero")

            else:
                
            print ("More")


            # Loops List
            = ['cat''window''defenestrate']
            for x in a:
                
            print (x, len(x))

            #知識點(diǎn):

            #    * 條件和循環(huán)語句
            #
                * 如何得到控制臺輸入



            7 函數(shù)

            #! /usr/bin/python
            #
             -*- coding: utf8 -*- 

            def sum(a,b):
                
            return a+b


            func 
            = sum
            = func(5,6)
            print (r)

            # 提供默認(rèn)值
            def add(a,b=2):
                
            return a+b
            r
            =add(1)
            print (r)
            r
            =add(1,5)
            print (r)


            一個(gè)好用的函數(shù)

            #! /usr/bin/python
            #
             -*- coding: utf8 -*- 

            # The range() function
            =range (1,10)
            for i in a:
                
            print (i)
                
            = range(-2,-11,-3# The 3rd parameter stands for step
            for i in a:
                
            print (i)


            知識點(diǎn):

            • Python 不用{}來控制程序結(jié)構(gòu),他強(qiáng)迫你用縮進(jìn)來寫程序,使代碼清晰.
            • 定義函數(shù)方便簡單
            • 方便好用的range函數(shù)



            8 異常處理

            #! /usr/bin/python
            s=input("Input your age:")
            if s =="":
                
            raise Exception("Input must no be empty.")

            try:
                i
            =int(s)
            except Exception as err:
                
            print(err)
            finally# Clean up action
                print("Goodbye!")

             

            9 文件處理

            對比Java,python的文本處理再次讓人感動

            #! /usr/bin/python

            spath
            ="D:/download/baa.txt"
            f
            =open(spath,"w"# Opens file for writing.Creates this file doesn't exist.
            f.write("First line 1.\n")
            f.writelines(
            "First line 2.")

            f.close()

            f
            =open(spath,"r"# Opens file for reading

            for line in f:
                
            print("每一行的數(shù)據(jù)是:%s"%line)

            f.close()


            知識點(diǎn):

            • open的參數(shù):r表示讀,w寫數(shù)據(jù),在寫之前先清空文件內(nèi)容,a打開并附加內(nèi)容.
            • 打開文件之后記得關(guān)閉

             

            10 類和繼承

            class Base:
                
            def __init__(self):
                    self.data 
            = []
                
            def add(self, x):
                    self.data.append(x)
                
            def addtwice(self, x):
                    self.add(x)
                    self.add(x)

            # Child extends Base
            class Child(Base):
                
            def plus(self,a,b):
                    
            return a+b

            oChild 
            =Child()
            oChild.add(
            "str1")
            print (oChild.data)
            print (oChild.plus(2,3))

            '''
            知識點(diǎn):

                * self:類似Java的this參數(shù)
                
            '''

             

            11 包機(jī)制

            每一個(gè).py文件稱為一個(gè)module,module之間可以互相導(dǎo)入.請參看以下例子:

            # a.py
            def add_func(a,b):
                
            return a+b

             

            # b.py
            from a import add_func # Also can be : import a

            print ("Import add_func from module a")
            print ("Result of 1 plus 2 is: ")
            print (add_func(1,2))    # If using "import a" , then here should be "a.add_func"


            module可以定義在包里面.Python定義包的方式稍微有點(diǎn)古怪,假設(shè)我們有一個(gè)parent文件夾,該文件夾有一個(gè)child子文件夾.child中有一個(gè)module a.py . 如何讓Python知道這個(gè)文件層次結(jié)構(gòu)?很簡單,每個(gè)目錄都放一個(gè)名為_init_.py 的文件.該文件內(nèi)容可以為空.這個(gè)層次結(jié)構(gòu)如下所示:

            parent 
              
            --__init_.py
              
            --child
                
            -- __init_.py
                
            --a.py

            b.py


            那么Python如何找到我們定義的module?在標(biāo)準(zhǔn)包sys中,path屬性記錄了Python的包路徑.你可以將之打印出來:

            import sys

            print(sys.path)


            通常我們可以將module的包路徑放到環(huán)境變量PYTHONPATH中,該環(huán)境變量會自動添加到sys.path屬性.另一種方便的方法是編程中直接指定我們的module路徑到sys.path 中:

            import sys
            import os
            sys.path.append(os.getcwd()
            +'\\parent\\child')

            print(sys.path)

            from a import add_func


            print (sys.path)

            print ("Import add_func from module a")
            print ("Result of 1 plus 2 is: ")
            print (add_func(1,2))


            知識點(diǎn):

            • 如何定義模塊和包
            • 如何將模塊路徑添加到系統(tǒng)路徑,以便python找到它們
            • 如何得到當(dāng)前路徑

            12 內(nèi)建幫助手冊

            對比C++,Java的突出進(jìn)步是內(nèi)建Javadoc機(jī)制,程序員可以通過閱讀Javadoc了解函數(shù)用法.Python也內(nèi)建了一些方便函數(shù)以便程序員參考.

            • dir函數(shù): 查看某個(gè)類/對象的方法. 如果有某個(gè)方法想不起來,請敲dir. 在idle里,試試 dir(list)
            • help函數(shù): 詳細(xì)的類/對象介紹. 在idle里, 試試 help(list)


            posted on 2013-04-25 16:24 C++技術(shù)中心 閱讀(2334) 評論(0)  編輯 收藏 引用 所屬分類: 游戲開發(fā)
            亚洲精品无码专区久久同性男| 色婷婷狠狠久久综合五月| 奇米影视7777久久精品人人爽| 久久久综合香蕉尹人综合网| 伊人久久一区二区三区无码| 中文字幕久久精品无码| 99久久精品费精品国产一区二区| 色综合合久久天天综合绕视看| 久久综合久久性久99毛片| 热re99久久精品国99热| 亚洲国产天堂久久综合网站| 久久这里都是精品| 免费观看久久精彩视频| 亚洲精品乱码久久久久久久久久久久 | 久久国产精品一国产精品金尊 | 伊人久久大香线蕉精品不卡| 天天爽天天狠久久久综合麻豆| 国产99久久久国产精免费| 国产精品久久久香蕉| 国产精品久久久久久久午夜片| 无码任你躁久久久久久老妇App| 国产精品久久网| 色综合久久久久综合体桃花网| 久久久久亚洲av成人无码电影| 国产精品女同久久久久电影院 | 国产精品亚洲综合专区片高清久久久| 久久精品国产亚洲AV久| 久久亚洲中文字幕精品一区| 久久久久夜夜夜精品国产| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久亚洲色一区二区三区| 91久久精品电影| 国产69精品久久久久99| 国产成人精品久久二区二区| 久久亚洲精品成人av无码网站| 国内精品伊人久久久久777| 久久久久久久久66精品片| 中文成人久久久久影院免费观看| 国产精品久久久99| 久久免费视频一区| 久久午夜综合久久|