国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

Python初體驗之基礎語法(二)

2019-11-14 17:05:23
字體:
來源:轉載
供稿:網友

所有測試語句基于Python 2.7.6 , Ubuntu 14.04 LTS

自學Python,如果哪里說的不對,還請指正。謝謝。

示例絕大部分來自博客園vamei的python教程

1.文件讀寫操作

一. 按字節讀取文件

#!/usr/bin/env python#coding=UTF-8#默認python編碼是ASCII編碼 要支持中文#加上coding=UTF-8的聲明# open()打開文件 r只讀 w寫入 a追加 r+ w+ a+模式# a+方式打開文件 指針指向結尾 , r方式 指針在文件頭# f.tell() 測試文件偏移位置 f.seek() 改變文件流file = open('test.txt','r')content = file.read(1024)  #讀取N bytes字節數據file.close()PRint "按字節讀取:",'/n',content

沒有其他高級語言繁瑣的文件流操作,open()函數拿到文件對象直接操作,簡單粗暴。

 

二. 按行讀取文件

file = open('test.txt','r')content = file.readline() # 讀取一行file.close()print "按行讀取:","/n",content

記得使用完后,關閉文本對象。file.close()

 

三.文件寫入操作

#打開某個文件  如果沒有則創建file = open('temp.txt','w')file.write('Python is good!/n') #擦除文件內容,且只能寫一行file.writelines(['Objective-c is bad!/n','Swift is wtf?/n','C# and java which better'])file.close()file = open('temp.txt','rw')content = file.readlines() #讀取所有行,存儲在列表中file.close()index = 0while(index < len(content)):    print content[index]    index += 1

往文件中寫入多行內容,使用readlines() 讀取所有行,并返回一個list對象。Python中對象的方法命名格式不是駝峰法,

導致我經常寫成類似readLines() 第二單詞首字母的大寫的形式,感覺Python的方法命名受c語言影響,這個還需要慢慢適應。

 

2.模塊的簡單使用

先在test.py的目錄下建立一個utils.py文件,我們將之前的寫的判斷閏年的函數和自定義的SuperList類放在一起,以便其他模塊使用。

#!/usr/bin/env python#coding=UTF-8#自定義list子類 添加對類似 [1,2,3] - [2,3]運算的支持#這種自帶兩個__下劃線的方法 是特殊方法class SuperList(list):    def __sub__(self,b):        #self是SuperList的對象,可以使用類似 list[:] 的方式表示整個list對象        a = self[:]        b = b[:]        #如果list包含b中的元素,就移除,直到循環結束 len()返回list中元素個數        while len(b) > 0 :            element_b = b.pop() #pop() 從list中彈出最后一個元素值,并返回他的值            if element_b in a :                a.remove(element_b)        return a#這里的-減號運算符代表__sub__() 方法,類似+ 代表__add()__#特殊方法和運算符相等價#print SuperList([1,2,3,4]) - SuperList([1,2])#函數定義  是否為閏年def isLeafYear(year):    return year%400==0 or (year%100!=0 and year%4==0)


我們再建立一個model.py文件,將utils模塊導入

#! /usr/bin/env python#coding=UTF-8import utils    #一個.py文件就構成一個模塊'''import a as b         # 引入模塊a,并將模塊a重命名為bfrom a import function1   # 從模塊a中引入function1對象。調用a中對象時              # 我們不用再說明模塊,即直接使用function1,而不是a.function1。from a import *       #從模塊a中引入所有對象 (類似Java的導包)'''#Python搜索模塊順序'''   1. 程序所在的文件夾   2. 標準庫的安裝路徑   3. 操作系統環境變量PYTHONPATH所包含的路徑'''#模塊.對象的方式來調用a = utils.isLeafYear(2004)print als = utils.SuperList([2,3,4,5]) - utils.SuperList([1,2,5])print ls

通過導入的方式使用現成的方法或者類,這就和Java  C#中關于面向對象中類的操作比較相似了。

 

3.模塊包

將功能相關的模塊放在一個文件夾下,通過import 模塊包名.模塊名  導入。

文件夾名.文件名

建立maths文件夾,新建一個__init__.py的空文件,告訴python這是一個模塊包

建立uitls.py文件,添加求平方和  求1~n個數字之和的函數如下:

#!/usr/bin/env python#coding=UTF-8#求兩個數的n次方之和def square_sum(a,b):    c = a**a + b**b    return a,b,c #求1~n的和def sum(n):    c = n*(n+1)/2    return c

在home目錄下建立test_01.py 如下

#!/usr/bin/env pythonimport maths.utils as functionprint function.square_sum(1,2)print function.sum(100)

 


上一篇:重讀LPTHW-Lesson25

下一篇:Pythonxlsx讀取

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 原阳县| 鄂尔多斯市| 白银市| 南汇区| 洮南市| 定结县| 泾阳县| 宁武县| 沧源| 三亚市| 卓尼县| 廊坊市| 嘉祥县| 重庆市| 邹城市| 星子县| 余庆县| 宾阳县| 金堂县| 新田县| 土默特左旗| 马鞍山市| 临猗县| 贵南县| 河间市| 修水县| 旺苍县| 志丹县| 秀山| 长子县| 九台市| 双辽市| 朔州市| 威宁| 宜川县| 锦州市| 会同县| 蕲春县| 建水县| 邵阳市| 无棣县|