码迷,mamicode.com
首页 > 编程语言 > 详细

第五天:python字符串和列表

时间:2017-10-05 20:00:54      阅读:303      评论:0      收藏:0      [点我收藏+]

标签: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字符串和列表

标签:python

原文地址:http://pengge666.blog.51cto.com/11766700/1970454

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!