python基礎知識理解

1、概述

  看了一天的python基礎語法,基本對python語法有了一個大概的瞭解(其實以前斷斷續續也看過python),學習網址:Python 基礎教程。由於以前我學過C++,所以在學習python的時候對語法也只是一掃而過,本篇文章我也只是想簡單的記錄下python的基礎語法。文章結尾我會提供一個簡單的python小程序,用於下載指定網址上全部的圖片。html

2、環境搭建

  從官網上下載python安裝包,默認安裝便可,最後配置系統環境變量,將bin目錄添加到path目錄便可。在命令行輸入python命令按回車,若是沒有錯誤那就說明python環境搭建成功,具體參看:Python 環境搭建python

  IDE:pycharm,python是腳本語言,具備python環境就能夠執行python文件,這就意味着任何文本編輯工具就能夠寫python代碼。Python IDE
小程序

3、語法總覽

  python語法基本和C++相似,在這裏我就簡單的記錄下基礎python語法和C++不同的地方。數據結構

  一、字符串 列表 元組 字典app

  • 列表:用「[]」括起來,可修改,可刪除
  • 元組:用「()」括起來,不能修改項,可是能夠追加;不能刪除項,可是能夠刪除整個變量。任意無符號的對象,以逗號隔開,默認爲元組
  • 字典:鍵值對dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};

  二、導入模塊ide

  如想要導入模塊support.py,須要把命令放在腳本的頂端:import support。如今能夠調用模塊裏包含的函數了support.print_func("Zara")函數

  三、循環工具

  python基本的順序執行、條件選擇和C++同樣,只是python的語句塊是用縮進來組織在一塊兒的(模塊的上一行末尾使用冒號),而C++是用花括號組織在一塊兒。以下是基本的循環示例學習

 1 # -*- coding: UTF-8 -*-
 2 
 3 #__author__ = 'Administrator'
 4 
 5 # continue 和 break 用法
 6 
 7 i = 1
 8 while i < 10:
 9     i += 1
10     if i % 2 > 0:     # 非雙數時跳過輸出
11         continue
12     print i         # 輸出雙數二、四、六、八、10
13 
14 i = 1
15 while 1:            # 循環條件爲1一定成立
16     print i         # 輸出1~10
17     i += 1
18     if i > 10:     # 當i大於10時跳出循環
19         break
20 
21 for letter in 'Python':     # 第一個實例
22    print '當前字母 :', letter
23 
24 print "經過序列索引迭代"
25 fruits = ['banana', 'apple', 'mango']
26 for index in range(len(fruits)):
27    print '當前水果 :', fruits[index]
28 
29 var = 1
30 while var == 1 :  # 該條件永遠爲true,循環將無限執行下去
31    num = raw_input("Enter a number  :")
32    print "You entered: ", num
33 
34 print "Good bye!"

  四、函數ui

 1 #coding=utf-8
 2 __author__ = 'Administrator'
 3 
 4 # 定義函數
 5 def printme( str ):
 6    "打印任何傳入的字符串"
 7    print str;
 8    return;
 9 
10 # 調用函數
11 printme("我要調用用戶自定義函數!");
12 printme("再次調用同一函數");
13 
14 # 可寫函數說明
15 def printinfo( arg1, *vartuple ):
16    "打印任何傳入的參數"
17    print "輸出: "
18    print arg1
19    for var in vartuple:
20       print var
21    return;
22 
23 # 調用printinfo 函數
24 printinfo( 10 );
25 printinfo( 70, 60, 50 );
26 
27 # 可寫函數說明
28 sum = lambda arg1, arg2: arg1 + arg2;
29 
30 # 調用sum函數
31 print "相加後的值爲 : ", sum( 10, 20 )
32 print "相加後的值爲 : ", sum( 20, 20 )
33 
34 import math
35 
36 content = dir(math)
37 
38 print content;

  五、遍歷目錄

 1 # coding=utf-8
 2 
 3 # __author__ = 'Administrator'
 4 
 5 import os
 6 
 7 dir = r'D:\BaiduNetdiskDownload'
 8 specify_str = 'e'
 9 
10 #指定搜索目錄
11 
12 results = []
13 folders = [dir]
14 
15 for folder in folders:
16     # 把目錄下全部文件夾存入待遍歷的folders
17     folders += [os.path.join(folder, x) for x in os.listdir(folder) \
18                 if os.path.isdir(os.path.join(folder, x))]
19 
20     # 把全部知足條件的文件的相對地址存入結果results
21     results += [os.path.relpath(os.path.join(folder, x), start=dir) \
22                 for x in os.listdir(folder) \
23                 if os.path.isfile(os.path.join(folder, x)) and specify_str in x]
24 
25 # 輸出結果
26 for result in results:
27     print(result)
28 print('找到 %s 個結果!' % len(results))

  六、日期轉換

 1 #coding=utf-8
 2 
 3 __author__ = 'Administrator'
 4 
 5 import time;  # 引入time模塊
 6 
 7 ticks = time.time()
 8 print "當前時間戳爲:", ticks
 9 
10 localtime = time.localtime(time.time())
11 print "本地時間爲 :", localtime
12 
13 localtime = time.asctime( time.localtime(time.time()) )
14 print "本地時間爲 :", localtime
15 
16 # 格式化成2016-03-20 11:45:39形式
17 print time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
18 
19 # 格式化成Sat Mar 28 22:24:24 2016形式
20 print time.strftime("%a %b %d %H:%M:%S %Y", time.localtime())
21 
22 # 將格式字符串轉換爲時間戳
23 a = "Sat Mar 28 22:24:24 2016"
24 print time.mktime(time.strptime(a,"%a %b %d %H:%M:%S %Y"))
25 
26 import calendar
27 
28 cal = calendar.month(2016, 1)
29 print "如下輸出2016年1月份的日曆:"
30 print cal;

  七、Python 面向對象

  • 類(Class): 用來描述具備相同的屬性和方法的對象的集合。它定義了該集合中每一個對象所共有的屬性和方法。對象是類的實例。
  • 類變量:類變量在整個實例化的對象中是公用的。類變量定義在類中且在函數體以外。類變量一般不做爲實例變量使用。
  • 數據成員:類變量或者實例變量用於處理類及其實例對象的相關的數據。
  • 方法重寫:若是從父類繼承的方法不能知足子類的需求,能夠對其進行改寫,這個過程叫方法的覆蓋(override),也稱爲方法的重寫。
  • 實例變量:定義在方法中的變量,只做用於當前實例的類。
  • 繼承:即一個派生類(derived class)繼承基類(base class)的字段和方法。繼承也容許把一個派生類的對象做爲一個基類對象對待。例如,有這樣一個設計:一個Dog類型的對象派生自Animal類,這是模擬"是一個(is-a)"關係(例圖,Dog是一個Animal)。
  • 實例化:建立一個類的實例,類的具體對象。
  • 方法:類中定義的函數。
  • 對象:經過類定義的數據結構實例。對象包括兩個數據成員(類變量和實例變量)和方法。

4、下載圖片

  下載指定網址上的全部圖片

 1 # coding=utf-8
 2 
 3 # python實現簡單爬蟲功能
 4 
 5 import urllib
 6 import re
 7 
 8 
 9 def getHtml(url):
10     page = urllib.urlopen(url)
11     html = page.read()
12     return html
13 
14 
15 def getImg(html):
16     reg = r'src="(.+?\.jpg)" pic_ext'
17     imgre = re.compile(reg)
18     imglist = re.findall(imgre, html)
19     x = 0
20     for imgurl in imglist:
21         urllib.urlretrieve(imgurl, 'picture\%s.jpg' % x)
22         x += 1
23 
24 html = getHtml("http://tieba.baidu.com/p/2460150866")
25 
26 print getImg(html)
相關文章
相關標籤/搜索