2-Python字符串和列表

时间:2023-01-04 10:35:43
  1. 知识点
        
        
    1. 知识点
    2. --Python字符串和列表2-Python字符串和列表
  2.  简单函数的使用
        
        
    1. 函数简介
    2. 所谓函数,就是指:把某些特定功能的代码组成为一个整体,这个整体就叫做函数
    3. 函数定义和调用
    4. 什么是函数的定义:相当于自己定义了一个能完成某些事件的功能;就好比自己打造了一个工具
    5. 定义函数格式如下:
    6. def test():
    7. print '----哈哈----'
    8. print '----这是我的第一个函数----'
    9. 什么是函数调用:如果仅仅是定义了函数,其实是不能自动被执行的,必须要去调用它才可以;
    10. 通俗的讲:定义函数相当于打造了一个工具,调用函数相当于使用这个工具完成想要做的事情
    11. # 定义一个函数
    12. def test():
    13. print '----哈哈----'
    14. print '----这是我的第一个函数----'
    15. # 调用函数
    16. test()
    17. Python之所以越来越受到开发者的喜爱,原因之一就是:它丰富的函数,基本上需要的功能Python都有了
    18. 时间函数
    19. 开发中,经常需要打印一些调试的信息,此时就又必须要输出时间,这就需要一些时间函数
    20. import time # 引入time模块
    21. currentTime = time.time()
    22. print "当前时间戳为:", currentTime
    23. 运行结果:
    24. 当前时间戳为: 1465527332.44
    25. import time
    26. localtime = time.localtime(time.time())
    27. print "本地时间为 :", localtime
    28. 运行结果:
    29. 本地时间为 : 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)
    30. import time
    31. localtime = time.asctime( time.localtime(time.time()) )
    32. print "本地时间为 :", localtime
    33. 运行结果:
    34. 本地时间为 : Fri Jun 10 10:58:53 2016
    35. 日历函数
    36. import calendar
    37. cal = calendar.month(2016, 8)
    38. print "2016年8月份的日历:"
    39. print cal;
    40. 运行结果:
    41. 随机数函数
    42. import random
    43. a = random.uniform(1, 5)
    44. print "a =",a
    45. b = random.randint(10, 50)
    46. print "b =",b
    47. c = random.randrange(0, 51, 2)
    48. print "c =",c
    49. 运行结果:
    50. 2-Python字符串和列表

  3. 字符串
        
        
    1. python中字符串的格式
    2. -----双引号或者单引号中的数据,就是字符串
    3. 字符串输入
    4. userName = raw_input('请输入用户名:')
    5. print("用户名为:%s" % userName)
    6. 字符串的索引(下标)
    7. ----如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从 0 开始)
    8. name = 'abcdef'
    9. print(name[0])
    10. 如果取出一部分,则可以在中括号[]中,使用:
    11. name = 'abcdef'
    12. print(name[0:3]) # 下标0~2 的字符
    13. name = 'abcdef'
    14. print(name[2:]) # 下标为2开始到最后的字符
    15. name = 'abcdef'
    16. print(name[1:-1]) # 下标为1开始 最后第2 之间的字符

  4.  字符串格式化操作
        
        
    1. age = 10
    2. print("我今年%d岁"%age)

    常用的格式符号

    下面是完整的,它可以与%符号使用列表:

    格式符号 转换
    %c 字符
    %s 通过str() 字符串转换来格式化
    %i 有符号十进制整数
    %d 有符号十进制整数
    %u 无符号十进制整数
    %o 八进制整数
    %x 十六进制整数(小写字母)
    %X 十六进制整数(大写字母)
    %e 索引符号(小写'e')
    %E 索引符号(大写“E”)
    %f 浮点实数
    %g %f和%e 的简写
    %G %f和%E的简写
  5.  字符串常见操作
        
        
    1. 字符串常见操作
    2. 如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作
    3. <1>find
    4. 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1
    5. mystr.find(str, start=0, end=len(mystr))
    6. <2>index
    7. find()方法一样,只不过如果str不在 mystr中会报一个异常.
    8. mystr.index(str, start=0, end=len(mystr))
    9. <3>count
    10. 返回 strstartend之间 mystr里面出现的次数
    11. mystr.count(str, start=0, end=len(mystr))
    12. <4>replace
    13. mystr 中的 str1 替换成 str2,如果 count 指定,则替换不超过 count 次.
    14. mystr.replace(str1, str2, mystr.count(str1))
    15. <5>split
    16. str 为分隔符切片 mystr,如果 maxsplit有指定值,则仅分隔 maxsplit 个子字符串
    17. mystr.split(str=" ", 2)
    18. 6>capitalize
    19. 把字符串的第一个字符大写
    20. mystr.capitalize()
    21. <7>startswith
    22. 检查字符串是否是以 obj 开头, 是则返回 True,否则返回 False
    23. mystr.startswith(obj)
    24. <8>endswith
    25. 检查字符串是否以obj结束,如果是返回True,否则返回 False.
    26. mystr.endswith(obj)
    27. <9>lower
    28. 转换 mystr 中所有大写字符为小写
    29. mystr.lower()
    30. <10>upper
    31. 转换 mystr 中的小写字母为大写
    32. mystr.upper()
    33. <11>ljust
    34. 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
    35. mystr.ljust(width)
    36. <12>rjust
    37. 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
    38. mystr.rjust(width)
    39. <13>center
    40. 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串
    41. mystr.center(width)
    42. <14>lstrip
    43. 删除 mystr 左边的空格
    44. mystr.lstrip()
    45. <15>rstrip
    46. 删除 mystr 字符串末尾的空格
    47. mystr.rstrip()
    48. <16>rfind
    49. 类似于 find()函数,不过是从右边开始查找.
    50. mystr.rfind(str, start=0,end=len(mystr) )
    51. <17>rindex
    52. 类似于 index(),不过是从右边开始.
    53. mystr.rindex( str, start=0,end=len(mystr))
    54. <18>partition
    55. mystrstr分割成三部分,str前,strstr
    56. mystr.partition(str)
    57. <19>rpartition
    58. 类似于 partition()函数,不过是从右边开始.
    59. mystr.rpartition(str)
    60. <20>splitlines
    61. 按照行分隔,返回一个包含各行作为元素的列表
    62. mystr.splitlines()
    63. <21>isalnum
    64. 如果 mystr 所有字符都是字母或数字则返回 True,否则返回 False
    65. mystr.isalnum()
    66. <22>isalpha
    67. 如果 mystr 所有字符都是字母 则返回 True,否则返回 False
    68. mystr.isalpha()
    69. <23>isdigit
    70. 如果 mystr 只包含数字则返回 True 否则返回 False.
    71. mystr.isdigit()
    72. <24>isspace
    73. 如果 mystr 中只包含空格,则返回 True,否则返回 False.
    74. mystr.isspace()
    75. <25>isupper
    76. 如果 mystr 所有字符都是大写,则返回 True,否则返回 False
    77. mystr.isupper()
    78. <26>join
    79. iterable中每个字符后面插入mystr,构造出一个新的字符串【最后一个字符不加】
    80. mystr.join(iterable)
    81.         
              
      1. def join(self, iterable): # real signature unknown; restored from __doc__
      2. """
      3. S.join(iterable) -> str
      4. Return a string which is the concatenation of the strings in the
      5. iterable. The separator between elements is S.
      6. """
      7. return ""


  6. 列表
        
        
    1. for循环
    2. 为了更有效率的输出列表的每个数据,可以使用循环来完成
    3. demo:
    4. A = ['xiaoWang','xiaoZhang','xiaoHua']
    5. for tempName in A:
    6. print tempName
    7. 列表的相关操作
    8. 列表中存放的数据是可以进行修改的,比如"增""删""改""
    9. <1>添加元素("增"append)
    10. <2>修改元素("改")
    11. 修改元素的时候,要通过下标来确定要修改的是哪个元素,然后才能进行修改
    12. demo:
    13. #定义变量A,默认有3个元素
    14. A = ['xiaoWang','xiaoZhang','xiaoHua']
    15. print "-----修改之前,列表A的数据-----"
    16. for tempName in A:
    17. print tempName
    18. #修改元素
    19. A[1] = 'xiaoLu'
    20. print "-----修改之后,列表A的数据-----"
    21. for tempName in A:
    22. print tempName
    23. <3>查找元素("查"innot in)
    24. 所谓的查找,就是看看指定的元素是否存在
    25. python中查找的常用方法为:
    26.         
              
      1. in(存在),如果存在那么结果为true,否则为false
      2. not in(不存在),如果不存在那么结果为true,否则false


    27. demo
    28. #待查找的列表
    29. nameList = ['xiaoWang','xiaoZhang','xiaoHua']
    30. #获取用户要查找的名字
    31. findName = raw_input('请输入要查找的姓名:')
    32. #查找是否存在
    33. if findName in nameList:
    34. print '在字典中找到了相同的名字'
    35. else:
    36. print '没有找到'
    37. <4>删除元素("删"delpopremove)
    38. 类比现实生活中,如果某位同学调班了,那么就应该把这个条走后的学生的姓名删除掉;在开发中经常会用到删除这种功能。
    39. 列表元素的常用删除方法有:
    40.         
              
      1. del:根据下标进行删除
      2. pop:删除最后一个元素
      3. remove:根据元素的值进行删除


    41. demo:(del)
    42. movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
    43. print '------删除之前------'
    44. for tempName in movieName:
    45. print tempName
    46. del movieName[2]
    47. print '------删除之后------'
    48. for tempName in movieName:
    49. print tempName

    50.         
              
      1. demo:(pop)
      2. movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
      3. print '------删除之前------'
      4. for tempName in movieName:
      5. print tempName
      6. movieName.pop()
      7. print '------删除之后------'
      8. for tempName in movieName:
      9. print tempName

    51.          
               
      1. demo:(remove)
      2. movieName = ['加勒比海盗','骇客帝国','第一滴血','指环王','霍比特人','速度与激情']
      3. print '------删除之前------'
      4. for tempName in movieName:
      5. print tempName
      6. movieName.remove('指环王')
      7. print '------删除之后------'
      8. for tempName in movieName:
      9. print tempName