1. 程式人生 > >Python學習---讀過《深入Python3》有感

Python學習---讀過《深入Python3》有感

下面是我執行python3.2.2時的程式碼,如下所示:

附上

__author__ = 'minggxu9'
import re
p = re.compile(r"dbzhang8\d{2}")
print(p)

import os
print(os.getcwd())
#得到當前目錄

os.chdir("D:\workspace\PythonTest")

print(os.getcwd())

print(os.path.join('D:\workspace\PythonTest', 'example.py'))

print(os.path.split("D:\workspace\PythonTest\example.py"))

(dirname, filename) = os.path.split("D:\workspace\PythonTest\example.py")
print(filename)
print(dirname)

(shortname, extension) = os.path.splitext("example.py")
print(shortname)
print(extension)

import glob
print(glob.glob('D:\workspace\PythonTest/*.py'))


os.chdir('D:\workspace\ScalaTest\src')
print(glob.glob("*.*"))


print(os.getcwd())
metadata = os.stat('totor.scala')
print(metadata.st_mtime )
print( metadata.st_size,"位元組")

#import humansize
#print(humansize.approximate_size(metadata.st_size))

import time
print(time.localtime(metadata.st_mtime) )


#構造絕對路徑
print(os.getcwd())
print(os.path.realpath('totor.scala'))

#列表解析
a_list = [1, 9, 8, 4]
print([elem * 2 for elem in a_list])

a_list = [elem * 2 for elem in a_list]
print(a_list)

b_list=[os.path.realpath(f) for f in glob.glob('*.scala')]
print(b_list)

c_list=[f for f in glob.glob('*.scala') if os.stat(f).st_size > 100]
print(c_list)

d_list=[f for f in glob.glob('*.scala') if os.stat(f).st_size <=100]
print(d_list)

g_list=[(os.stat(f).st_size, os.path.realpath(f)) for f in glob.glob('*.scala')]
print(g_list)


#字典解析
metadata = [(f, os.stat(f)) for f in glob.glob('*.scala')]
print(metadata)

metadata_dict = {f:os.stat(f) for f in glob.glob('*o*.scala')}
print(metadata_dict)

print(type(metadata_dict))
print(list(metadata_dict.keys()))
print(metadata_dict['totor.scala'].st_size)


#資料字典 map:key
a_dict = {'a': 1, 'b': 2, 'c': 3}
print({value:key for key, value in a_dict.items()})


#
a_set = set(range(10))
print( a_set)

#**表示某個數的平方
print({x ** 2 for x in a_set})

print({x for x in a_set if x % 2 == 0})

print( {2**x for x in range(10)})
'''

①	集合解析可以接受一個集合作為引數。這個集合解析計算數字0-9這個集合的的平方。
②	同列表解析和字典解析一樣, 集合解析也可以包含if 字句來在將元素放入結果集合前進行過濾。
③	集合解析的輸入並不一定要是集合; 可以是任何序列。
'''

print(2**3)
#2的3次方
print(4**4)


vec = [2, 4, 6]
print([3*x for x in vec])