python 基礎_

數據館員的 Python 簡明手冊

1. hello world

#!/usr/bin/env python
#-*- coding:utf-8 -*-
  
__author__ = 'zuoy'
  
__doc__ = '在屏幕上打印信息: hello world!'
  
def main():
    '''
    入參:無
    功能:在屏幕上打印信息: hello world!
    '''
    print('hello world!')
  
if __name__ == '__main__':
    main()

2. 數據類型

string

  • 字符串分割
  s.split(str, num)  # 默認按照空白符分割所有;str: 分割符, num: 分割成幾份
  • 大小寫轉化
  s.upper()
  s.lower()

list

  • 遍歷list
  for num in l:
  • 求長度
  len(l)
  • 刪除list、list元素(與字典刪除操作同方法)
  l.pop(index)
  del l[index]
  del l
  • 添加元素
  l.append(x)  # 末尾添加
  l.insert(index)  # 指定下標處添加元素
  • 查找元素
  l.index(x)  # 有x,返回x的下標;沒有,報異常
  • 切片:list、str等
  nl = l[start_index : end_index+1 : step]
  • 列表生成式
  nl = [m + n for m in 'ABC' for n in 'XYZ']
  • 排序
  l.sort(k=f)  # 返回值是:None
  nl = sorted(l, key=abs, reverse=True)  # 按照絕對值排序,反序;key=str.lower 忽略大小寫排序
  • 壓縮
  l3 = zip(l1, l2)
  for x, y in l3:
  • 高階函數
  map(f, l  # [f(l[0]), f(l[1]), ...]
  reduce(f, []1,2,3)  # = f((1,2), 3)  # from functools import reduce
  filter(is_odd, l)  # 返回迭代器:如果is_odd(l[i])爲真,則在迭代器裏保留該元素

字典

  • 遍歷字典
  for k in d:
  for v in d.values()
  for k, v in d.items()
  • 刪除dict、dict元素(與list刪除操作同方法)
  d.remove(k)
  del d[k]
  del d
  • 判斷 key 是否存在
  if k in d:
  if d.get(k, None) != None:  # key 不存在時返回None(設置的值)

set

字典的key集合,不重
  • 添加、刪除元素
  d.add(k)
  d.remove(k)
  • 求和(去重的)
  d1 + d2
  d1 | d2 # d1 & d2 # 求交集(共同元素)

枚舉類型

  from enum import Enum
  Month = Enum('Month', ('Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'))
  print(Month.Feb) == Month.Feb
  
  from enum import Enum, unique
  
  @unique  # 檢查有無重複值
  class Weekday(Enum):
      Sun = 0 # Sun的value被設定爲0
      Mon = 1
      Tue = 2
  
  Weekday.Mon == Weekday.Mon
  Weekday.Tue.value == 2

邏輯運算符

  • and\or\not
  x and y # x\y 均爲真,返回y的值;否則,返回False
  x or y  # x 爲真,返回x; 否則,返回y
  not x  # 返回True或False

常用方法

  • 判斷元素類型
  isinstance(x, int)  # 子類和父類是同一種元素
  type(x) == int  # 子類和父類不是同一種元素
  • 範圍
  range(s, e, step)  # [s, e)
  • 文件讀取
  with open(file, encoding='utf-8', 'r') as f:
      f.read()  # 讀取整個文件的內容
      f.readlines()  # 讀取整個文件所有行的內容, 返回list
      f.readline()  # 讀取一行內容
      f.read(n)  # 讀取n 字節的內容
  • os 模塊
  os.path.abspath('.')  # 查看當前路徑的絕對路徑
  os.path.join('/Users', 'testdir')  # 路徑拼接
  os.mkdir('/Users')  # 創建路徑
  os.rmdir('/Users')  # 刪除文件夾
  os.path.splitext('/path/to/file.txt')  # (’/path/to/file’, ‘.txt’)
  os.path.split('/Users/michael/testdir/file.txt')  # (’/Users/michael/testdir’, ‘file.txt’)
  os.rename('test.txt', 'test.py')
  os.remove('test.py')  # 刪除文件
  os.listdir('.')  # 列出當前路徑下的所有文件
  os.path.isdir(x)  # 路徑存在
  os.path.isfile(x)  # 文件存在

注意

除法

  10 / 3 == 3 # 結果是浮點數
  //  # 結果向下取整
  10 // 3 == 3
  -10 / 3 == -4

參考

linux安裝python

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章