1. 程式人生 > >第五天:python字符串和列表

第五天:python字符串和列表

python

一、簡單函數的使用

1.定義函數格式如下:

   # 定義一個函數
   def test():
       print ‘----哈哈----‘
       print ‘----這是我的第一個函數----‘

   # 調用函數
   test()

2.時間函數

開發中,經常需要打印一些調試的信息,此時就又必須要輸出時間,這就需要一些時間函數

例1:

   import time  # 引入time模塊

   currentTime = time.time()   
   print "當前時間戳為:", currentTime

運行結果:

   當前時間戳為: 1465527332.44

例2:

   import time

   localtime = time.localtime(time.time())   
   print "本地時間為 :", localtime

運行結果:

 本地時間為 : time.struct_time(tm_year=2016, tm_mon=6, tm_mday=10, tm_hour=10, tm_ min=57, tm_sec=14, tm_wday=4, tm_yday=162, tm_isdst=0)

例3:

   import time

   localtime = time.asctime( time.localtime(time.time()) )   
   print "本地時間為 :", localtime

運行結果:

   本地時間為 : Fri Jun 10 10:58:53 2016

3.日歷函數

   import calendar

   cal = calendar.month(2016, 8)   
   print "2016年8月份的日歷:"
   print cal;

運行結果:

技術分享

4.隨機數函數

   import random

   a = random.uniform(1, 5)   
   print "a =",a

   b = random.randint(10, 50)   
   print "b =",b

   c = random.randrange(0, 51, 2)   
   print "c =",c

運行結果:

技術分享

二、字符串介紹

<1>python中字符串的格式

如下定義的變量a,存儲的是數字類型的值

    a = 100

如下定義的變量b,存儲的是字符串類型的值

    b = "hello itcast.cn"
    或者
    b = ‘hello itcast.cn‘

小總結:

雙引號或者單引號中的數據,就是字符串

<2>字符串的輸出

demo:

    name = ‘xiaoming‘
    position = ‘講師‘
    address = ‘北京市昌平區建材城西路金燕龍辦公樓1層‘

    print(‘--------------------------------------------------‘)
    print("姓名:%s"%name)
    print("職位:%s"%position)
    print("公司地址:%s"%address)
    print(‘--------------------------------------------------‘)

結果:

    --------------------------------------------------
    姓名: xiaoming
    職位: 講師
    公司地址: 北京市昌平區建材城西路金燕龍辦公樓1層
    --------------------------------------------------

<3>字符串的輸入

demo:

    userName = raw_input(‘請輸入用戶名:‘)
    print("用戶名為:%s"%userName)

    password = raw_input(‘請輸入密碼:‘)
    print("密碼為:%s"%password)

結果:(根據輸入的不同結果也不同)

    請輸入用戶名:dongGe
    用戶名為: dongGe
    請輸入密碼:haohaoxuexitiantianxiangshang
    密碼為: haohaoxuexitiantianxiangshang

技術分享


<4>字符串的索引(下標)

字符串中“下標”的使用

如果有字符串:name=‘abcdef‘,在內存中實際存儲如下:

技術分享

如果想取出部分字符,那麽可以通過下標的方法,(註意python中下標從0開始)

   name = ‘abcdef‘

   print(name[0])
   print(name[1])
   print(name[2])

運行結果:

技術分享

如果取出一部分,則可以在中括號[]中,使用:

   name = ‘abcdef‘

   print(name[0:3]) # 取 下標0~2 的字符

運行結果:

技術分享



   name = ‘abcdef‘

   print(name[3:5]) # 取 下標為3、4 的字符

運行結果:

技術分享



   name = ‘abcdef‘

   print(name[2:]) # 取 下標為2開始到最後的字符

運行結果:

技術分享




   name = ‘abcdef‘

   print(name[1:-1]) # 取 下標為1開始 到 最後第2個  之間的字符

運行結果:

技術分享


<5>字符串格式化操作

1.什麽是格式化

看如下代碼:

    age = 10
    print("我今年%d歲"%age)

    age += 1
    print("我今年%d歲"%age)

    age += 1
    print("我今年%d歲"%age)

    ...

在程序中,看到了%這樣的操作符,這就是python中格式化時用的運算符

修改以上的程序,如下:

    age = 10
    while i<=13:
        print("我今年%d歲"%age)
        age += 1

2.常用的格式符號

格式符號轉換
%c字符
%s通過str() 字符串轉換來格式化
%i有符號十進制整數
%d有符號十進制整數
%u無符號十進制整數
%o八進制整數
%x十六進制整數(小寫字母)
%X十六進制整數(大寫字母)
%e索引符號(小寫‘e‘)
%E索引符號(大寫“E”)
%f浮點實數
%g%f和%e 的簡寫
%G%f和%E的簡寫

<6>字符串常見操作

如有字符串mystr=‘hello world itcast and itcastcpp‘,以下是常見的操作

1.find

檢測str是否包含在mystr中,如果是返回開始的索引值,否則返回-1

mystr.find(str, start=0, end=len(mystr))

技術分享

技術分享

2.index

跟find()方法一樣,只不過如果str不在mystr中會報一個異常

mystr.index(str, start=0, end=len(mystr))

技術分享


3.count

返回str在start和end之間,在mystr裏面出現的次數

mystr.count(str, start=0, end=len(mystr))

技術分享

4.replace

把mystr中的str1替換成str2,如果count指定,則替換不超過count次

mystr.replace(str1, str2,  mystr.count(str1))

技術分享

5.split

以str為分割符切片mystr,如果maxsplit有指定值,則僅分割maxsplit個子字符串

mystr.split(str=" ", 2)

技術分享

6.capitalize

把字符串的第一個字符大寫

mystr.capitalize()

技術分享


7.startswith

檢查字符串是否是以obj開頭,是則返回True,否則返回False

mystr.startswith(obj)

技術分享


8.endswith

檢查字符串是否以obj結束,如果是返回True,否則返回False

mystr.endswith(obj)

技術分享

9.lower

轉換mystr中所有大寫字符為小寫

mystr.lower()

技術分享

10.upper

轉換mystr中小寫字母為大寫

mystr.upper()

技術分享


11.ljust

返回一個原字符串左對齊,並使用空格填充至長度width的新字符串

mystr.ljust(width)

技術分享

12.rjust

返回一個原字符串右對齊,並使用空格填充至長度width的新字符串

mystr.rjust(width)

技術分享

13.center

返回一個原字符串居中,並使用空格填充至長度width的新字符串

mystr.center(width)

技術分享

14.lstrip

刪除mystr左邊的空格

mystr.lstrip()

技術分享

15.rstrip

刪除mystr字符串末尾的空格

mystr.rstrip()

技術分享


16.rfind

類似於find函數,不過是從右邊開始查找

mystr.rfind(str, start=0,end=len(mystr) )

技術分享

17.rindex

類似於index(),不過是從右邊開始

mystr.rindex( str, start=0,end=len(mystr))

技術分享

18.partition

把mystr以str分割成三部分,str前,str和str後

mystr.partition(str)

技術分享

19.rpartition

類似於partition()函數,不過是從右邊開始

mystr.rpartition(str)

技術分享

20.splitlines

按照行分隔,返回一個包含各行作為元素的列表

mystr.splitlines()

技術分享

21.isalnum

如果mystr所有字符都是字母或數字則返回True,否則返回False

mystr.isalnum()

技術分享

22.isalpha

如果mystr所有字符都是字母,則返回True,否則返回False

mystr.isalpha()

技術分享

23.isdigit

如果mystr只包含數字則返回True,否則返回False

mystr.isdigit()

技術分享

24.isspace

如果mystr中只包含空格,則返回True否則返回False

mystr.isspace()

技術分享

25.isupper

如果mystr所有字符都是大寫,則返回True,否則返回False

mystr.isupper()

技術分享

26.join

mystr中每個字符後面插入str,構造出一個新的字符串

mystr.join(str)

技術分享


三、列表介紹

<1>列表的格式

變量A的類型為列表

    A = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]

<2>打印列表

demo:

    A = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]
    print A[0]
    print A[1]
    print A[2]

結果:

    xiaoWang
    xiaoZhang
    xiaoHua

<3>列表的循環遍歷

for循環

demo:

    A = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]
    for tempName in A:
        print tempName

結果:

    xiaoWang
    xiaoZhang
    xiaoHua

<4>列表的相關操作

列表中存放的數據是可以進行修改的,比如“增”、“刪”、“改”

1.添加元素("增"append)

通過append可以向列表添加元素

demo:

    #定義變量A,默認有3個元素
    A = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘] 
       
    print "-----添加之前,列表A的數據-----"
    for tempName in A:        
        print tempName    
    
    #提示、並添加元素
    temp = raw_input(‘請輸入要添加的學生姓名:‘)
    A.append(temp)    
    
    print "-----添加之後,列表A的數據-----"
    for tempName in A:        
        print tempName

技術分享

2.修改元素(“改”)

修改元素的時候,要通過下標來確定要修改的是哪個元素,然後才能進行修改

demo:

    #定義變量A,默認有3個元素
    A = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]    
    
    print "-----修改之前,列表A的數據-----"
    for tempName in A:        
        print tempName    
        
    #修改元素
    A[1] = ‘xiaoLu‘

    print "-----修改之後,列表A的數據-----"
    for tempName in A:        
        print tempName

結果:

    -----修改之前,列表A的數據-----
    xiaoWang
    xiaoZhang
    xiaoHua
    -----修改之後,列表A的數據-----
    xiaoWang
    xiaoLu
    xiaoHua

3.查找元素("查"in、not in)

所謂查找,就是看看指定的元素是否存在

python中查找的常用方法為:

in(存在),如果存在,那麽結果為true,否則為false

not in(不存在),如果不存在,那麽結果為true,否則為false

demo:

    #待查找的列表
    nameList = [‘xiaoWang‘,‘xiaoZhang‘,‘xiaoHua‘]    
    
    #獲取用戶要查找的名字
    findName = raw_input(‘請輸入要查找的姓名:‘)    
    
    #查找是否存在
    if findName in nameList:        
        print ‘在字典中找到了相同的名字‘
    else:        
        print ‘沒有找到‘

結果1:(找到)

技術分享結果2:(沒有找到)

技術分享說明:

in的方法只要會用了,那麽not in也是同樣的用法,只不過not in判斷的是不存在


4.刪除元素(“刪”del、pop、remove)

列表元素的常用刪除方法有:

del:根據下標進行刪除

pop:刪除最後一個元素

remove:根據元素的值進行刪除

demo:(del)

    movieName = [‘加勒比海盜‘,‘駭客帝國‘,‘第一滴血‘,‘指環王‘,‘霍比特人‘,‘速度與激情‘]    
    
    print ‘------刪除之前------‘
    for tempName in movieName:        
        print tempName    
        
    del movieName[2]    
    
    print ‘------刪除之後------‘
    for tempName in movieName:        
        print tempName

結果:

    ------刪除之前------
    加勒比海盜
    駭客帝國
    第一滴血
    指環王
    霍比特人
    速度與激情
    ------刪除之後------
    加勒比海盜
    駭客帝國
    指環王
    霍比特人
    速度與激情

demo:(pop)

    movieName = [‘加勒比海盜‘,‘駭客帝國‘,‘第一滴血‘,‘指環王‘,‘霍比特人‘,‘速度與激情‘]    
    
    print ‘------刪除之前------‘
    for tempName in movieName:        
        print tempName

    movieName.pop()    
    
    print ‘------刪除之後------‘
    for tempName in movieName:        
        print tempName

結果:

    ------刪除之前------
    加勒比海盜
    駭客帝國
    第一滴血
    指環王
    霍比特人
    速度與激情
    ------刪除之後------
    加勒比海盜
    駭客帝國
    第一滴血
    指環王
    霍比特人

demo:(remove)

    movieName = [‘加勒比海盜‘,‘駭客帝國‘,‘第一滴血‘,‘指環王‘,‘霍比特人‘,‘速度與激情‘]    
    
    print ‘------刪除之前------‘
    for tempName in movieName:        
        print tempName

    movieName.remove(‘指環王‘)    
    
    print ‘------刪除之後------‘
    for tempName in movieName:        
        print tempName

結果:

    ------刪除之前------
    加勒比海盜
    駭客帝國
    第一滴血
    指環王
    霍比特人
    速度與激情
    ------刪除之後------
    加勒比海盜
    駭客帝國
    第一滴血
    霍比特人
    速度與激情




本文出自 “鵬哥的博客” 博客,謝絕轉載!

第五天:python字符串和列表