python基礎知識總結

基礎語法

  • 編碼問題:文件開頭加# -*- coding: utf-8 -*-
  • 變量賦值無需聲明類型
  • 語句末尾無需" ; "等表示結尾
  • 以4個空格的縮進控制模塊
  • 函數及邏輯判斷后要加冒號

執行.py文件的方式

  1. cd到文件所在的目錄
  2. python filename.py
    (如果有問題的話考慮chmod 777 filename.py

模塊

hello.py

def say_hello(par):
    print 'Hello, ', par
    return

main.py(同一目錄下)

import hello

hello.say_hello('Jack')

from selenium import webdriver

I/O

print 'Hello, %s! * %d' % ('python', 3)  
#涉及到中文的輸出要在引號前加上字母u,強制進行unicode編碼
str1 = raw_input('raw_input輸入')
print u'raw_input輸出', str1

輸出結果

Hello, python! * 3
raw_input輸入QWERTY
raw_input輸出 QWERTY

數據類型

五個標準的數據類型:
Numbers(數字),String(字符串),List(列表),Tuple(元組),Dictionary(字典)

賦值

age = 23         #整型
height = 1.85    #浮點
name = 'jackie'  #字符串
a, b, c = 10, 20, 'jjqqkk'  #為多個變量賦值
list1 = ['cat', 'dog', 100, 200]  #列表
tup1 = ('apple', 'iphone', 2016, 2017)  #元組
dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'}

字符串操作

str = 'Welcome to PYTHON'

print str          #完整字符串  'Welcome to PYTHON'
print str[0]       #第一個字符  'W'
print str[1:4]     #第2個到第4個之間的字符串(不包括冒號后面那一位) 'elc'
print str[5:]      #從第6個字符開始的字符串  'me to PYTHON'
print str * 3      #輸出3次字符串  'Welcome to PYTHONWelcome to PYTHONWelcome to PYTHON'
print str + ' lol'  #字符串拼接  'Welcome to PYTHON lol'

運算符
以下假設變量: a=10,b=20

運算符 描述 實例
+ 加 - 兩個對象相加 a + b 輸出結果 30
- 減 - 得到負數或是一個數減去另一個數 a - b 輸出結果 -10
* 乘 - 兩個數相乘或是返回一個被重復若干次的字符串 a * b 輸出結果 200
/ 除 - x除以y b / a 輸出結果 2
% 取模 - 返回除法的余數 b % a 輸出結果 0
** 冪 - 返回x的y次冪 a**b 為10的20次方, 輸出結果 100000000000000000000
// 取整除 - 返回商的整數部分 9//2 輸出結果 4 , 9.0//2.0 輸出結果 4.0

Python2.x的版本中,整數除整數,得到的結果都是整數。要想結果是小數,需要除數和被除數中至少有一個浮點數。

列表

list1 = ['cat', 'dog', 100, 200]
#輸出指定項
print list1[0]
print list1[1:3]
#更list1新列表
list1[2] = 1100
list1.append(300)
for x in list1:
    print x
#刪除元素
del list1[2]
print list1
print len(list1)
#拼接列表
list2 = ['qqq', 111]
list1 += list2
print list1

輸出結果

cat
['dog', 100]
cat
dog
1100
200
300
['cat', 'dog', 200, 300]
4
['cat', 'dog', 200, 300, 'qqq', 111]

元組

tup1 = ()  #創建空元組
tup2 = (123,)  #創建只有一個元素的元組
del tup1  #刪除元組

字典

dict = {'Name': 'Zara', 'Age': 7, 'Class': 'First'};
#更新字典
dict['Age'] = 8; 
dict['School'] = "DPS School";
print dict
#刪除鍵值對
del dict['Age']
print dict
#清除字典
dict.clear()
print dict

輸出結果

{'School': 'DPS School', 'Age': 8, 'Name': 'Zara', 'Class': 'First'}
['School', 'Name', 'Class'] ['DPS School', 'Zara', 'First']
{}

語句

條件語句

num = 10
if num < 0 or num > 10:    # 判斷值是否在小于0或大于10
    print 'hello'
else:
    print 'undefine'
# 輸出結果: undefine

while循環

num1 = 0
while num1 < 10:
    num1 += 1
    if num1 %2 > 0:
        continue
    print num1
print '---------'
num2 = 0
while 1:
    print num2
    num2 += 1
    if num2 > 5:
        break

輸出結果

2
4
6
8
10
---------
0
1
2
3
4
5

for循環

animals = ['cat', 'dog', 'monkey']
#函數len()返回列表的長度,也就是列表中元素的個數,range()用于返回一個序列的數。
for index in range(len(animals)):
    print u'動物有:', animals[index]

輸出結果

動物有: cat
動物有: dog
動物有: monkey

其他

隨機數

import random
randomNumber = int(random.uniform(1,10))  #取1-10之間的隨機整數

日期和時間

import time
import calendar

print time.time()
print time.localtime(time.time())
print time.asctime(time.localtime(time.time()))
print time.strftime('%Y-%m-%d %H:%M:%S', time.localtime())
print '----------------'
print calendar.month(2017, 7)

輸出結果

1506503049.9
time.struct_time(tm_year=2017, tm_mon=9, tm_mday=27, tm_hour=17, tm_min=4, tm_sec=9, tm_wday=2, tm_yday=270, tm_isdst=0)
Wed Sep 27 17:04:09 2017
2017-09-27 17:04:09
----------------
     July 2017
Mo Tu We Th Fr Sa Su
                1  2
 3  4  5  6  7  8  9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

異常處理

while 1:
    try:
        num1 = raw_input('被除數:')
        num2 = raw_input('除數:')
        result = int(num1) / int(num2)
    except BaseException:
        print '異常' + '\n'
    else:
        print '結果:', result, '\n'

輸出結果

被除數:3
除數:2
結果: 1 

被除數:1
除數:
異常

文件操作
寫入

fileObj = open('text1.txt', 'wb')  #若文件已存在,則覆蓋;若不存在,則新建
fileObj.write('content content.\n')
fileObj.close()

讀取

fileObj = open('text1.txt', 'r+')   #讀寫模式
str = fileObj.read()
print str
fileObj.close()

os文件方法

import os

os.rename('test1.txt', 'test2.txt')  #重命名
os.remove('test2.txt')  #刪除文件
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,702評論 6 534
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,615評論 3 419
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,606評論 0 376
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,044評論 1 314
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,826評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,227評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,307評論 3 442
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,447評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,992評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,807評論 3 355
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,001評論 1 370
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,550評論 5 361
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,243評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,667評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,930評論 1 287
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,709評論 3 393
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,996評論 2 374

推薦閱讀更多精彩內容