• <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++ 技術中心

               :: 首頁 :: 聯系 ::  :: 管理
              160 Posts :: 0 Stories :: 87 Comments :: 0 Trackbacks

            公告

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

            留言簿(27)

            搜索

            •  

            最新隨筆

            最新評論

            評論排行榜

            轉 Python3中文教程

            Python已經是3.1版本了,與時俱進更新教程.

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

             

            1 你好

            #打開新窗口,輸入:

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

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

            2 字符串和數字

            但有趣的是,在javascript里我們會理想當然的將字符串和數字連接,因為是動態語言嘛.但在Python里有點詭異,如下:

            #! /usr/bin/python

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


            運行這行程序會出錯,提示你字符串和數字不能連接,于是只好用內置函數進行轉換

            #! /usr/bin/python
            #
            運行這行程序會出錯,提示你字符串和數字不能連接,于是只好用內置函數進行轉換
            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))
            '''
            知識點:

                * 用int和str函數將字符串和數字進行轉換
                * 打印以#開頭,而不是習慣的//
                * 打印多個參數的方式
                
            '''



            3 列表

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

            #定義元組
            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)

            '''
            知識點:

                * 列表長度是動態的,可任意添加刪除元素.
                * 用索引可以很方便訪問元素,甚至返回一個子列表
                * 更多方法請參考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]))
                
            '''
            知識點:

                * 將他當Java的Map來用即可.

            '''



            5 字符串

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

            #! /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("輸入你的中文名,按回車繼續");
            print ("你的名字是  : " +s)

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


            知識點:

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

             

            6 條件和循環語句

             
            #
            ! /usr/bin/python
            #條件和循環語句

            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))

            #知識點:

            #    * 條件和循環語句
            #
                * 如何得到控制臺輸入



            7 函數

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

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


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

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


            一個好用的函數

            #! /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)


            知識點:

            • Python 不用{}來控制程序結構,他強迫你用縮進來寫程序,使代碼清晰.
            • 定義函數方便簡單
            • 方便好用的range函數



            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("每一行的數據是:%s"%line)

            f.close()


            知識點:

            • open的參數:r表示讀,w寫數據,在寫之前先清空文件內容,a打開并附加內容.
            • 打開文件之后記得關閉

             

            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))

            '''
            知識點:

                * self:類似Java的this參數
                
            '''

             

            11 包機制

            每一個.py文件稱為一個module,module之間可以互相導入.請參看以下例子:

            # 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定義包的方式稍微有點古怪,假設我們有一個parent文件夾,該文件夾有一個child子文件夾.child中有一個module a.py . 如何讓Python知道這個文件層次結構?很簡單,每個目錄都放一個名為_init_.py 的文件.該文件內容可以為空.這個層次結構如下所示:

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

            b.py


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

            import sys

            print(sys.path)


            通常我們可以將module的包路徑放到環境變量PYTHONPATH中,該環境變量會自動添加到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))


            知識點:

            • 如何定義模塊和包
            • 如何將模塊路徑添加到系統路徑,以便python找到它們
            • 如何得到當前路徑

            12 內建幫助手冊

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

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


            posted on 2013-04-25 16:24 C++技術中心 閱讀(2326) 評論(0)  編輯 收藏 引用 所屬分類: 游戲開發
            久久夜色精品国产亚洲av| 国产成人精品久久亚洲| 中文成人无码精品久久久不卡 | 久久国产精品久久国产精品| 久久精品国产清自在天天线| 国产亚洲美女精品久久久2020| 人妻无码精品久久亚瑟影视| 国内精品久久久久影院亚洲| 国产成人综合久久精品红| 久久久久亚洲AV成人网人人网站 | 精品久久一区二区三区| 久久精品免费观看| 国内精品久久久久久久久电影网 | 久久精品www| A级毛片无码久久精品免费| 国产精品狼人久久久久影院 | 国产一级做a爰片久久毛片| 狠狠狠色丁香婷婷综合久久五月| 久久r热这里有精品视频| 国产精品亚洲综合专区片高清久久久| 久久国产V一级毛多内射| 亚洲色欲久久久久综合网| 亚洲国产精品成人久久| 久久精品嫩草影院| 青青久久精品国产免费看| 麻豆AV一区二区三区久久| 伊人色综合久久天天| 亚洲午夜精品久久久久久app| 久久久久久午夜成人影院| 久久99精品久久久久久野外 | 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 嫩草影院久久99| 亚洲乱码日产精品a级毛片久久| 久久精品亚洲中文字幕无码麻豆 | 亚洲婷婷国产精品电影人久久| 亚洲AV无码久久精品蜜桃| 精品国产一区二区三区久久蜜臀| 亚洲中文字幕无码久久2017 | 国内精品人妻无码久久久影院导航| 久久婷婷激情综合色综合俺也去| 久久99热这里只有精品国产|