一、简单函数的使用

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;

运行结果:

wKioL1nV01yTz9HDAAByE-Zh0p4915.png

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

运行结果:

wKiom1nV1B_hwVlZAAHLJ2_0avM199.png

二、字符串介绍

<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

wKiom1nV1W-SkPK2AABf6PGImZk427.gif


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

字符串中“下标”的使用

如果有字符串:name='abcdef',在内存中实际存储如下:

wKiom1nV2DzDm56PAABq_2iPjd8577.png

如果想取出部分字符,那么可以通过下标的方法,(注意python中下标从0开始)

   name = 'abcdef'

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

运行结果:

wKioL1nV2F-gMzkBAACrMLMjnx8514.png

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

   name = 'abcdef'

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

运行结果:

wKiom1nV2P-B6ADjAACt51KOuTQ133.png



   name = 'abcdef'

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

运行结果:

wKioL1nV2O_gLPngAACqx2lw77Y884.png



   name = 'abcdef'

   print(name[2:]) # 取 下标为2开始到最后的字符

运行结果:

wKiom1nV2WnhcrORAACzX3Exyxk588.png




   name = 'abcdef'

   print(name[1:-1]) # 取 下标为1开始 到 最后第2个  之间的字符

运行结果:

wKiom1nV2Zrw7VlpAADBIXDi72Q246.png


<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))

wKiom1nV257DtfWlAABDz0Y0jlc152.png

wKioL1nV21PzUmUSAABGyJ6qnVw842.png

2.index

跟find()方法一样,只不过如果str不在mystr中会报一个异常

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

wKioL1nV28GR8M_yAAC1-62Eg10748.png


3.count

返回str在start和end之间,在mystr里面出现的次数

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

wKiom1nV3GTimDuoAABENLzhE1Y545.png

4.replace

把mystr中的str1替换成str2,如果count指定,则替换不超过count次

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

wKioL1nV3hjD2ErQAABjnuVnJ4A890.png

5.split

以str为分割符切片mystr,如果maxsplit有指定值,则仅分割maxsplit个子字符串

mystr.split(str=" ", 2)

wKiom1nV3t2TERGgAABo2V5RB70867.png

6.capitalize

把字符串的第一个字符大写

mystr.capitalize()

wKiom1nV3ynDn9e8AABZM-6hBqg209.png


7.startswith

检查字符串是否是以obj开头,是则返回True,否则返回False

mystr.startswith(obj)

wKiom1nV34qQ4_wUAABuAQU-inI489.png


8.endswith

检查字符串是否以obj结束,如果是返回True,否则返回False

mystr.endswith(obj)

wKioL1nV36_TtWSYAABsyfKrf6k479.png

9.lower

转换mystr中所有大写字符为小写

mystr.lower()

wKioL1nV3-jznUTHAABaArEehmA721.png

10.upper

转换mystr中小写字母为大写

mystr.upper()

wKiom1nV4GuQ4M1tAABTLYItgl0775.png


11.ljust

返回一个原字符串左对齐,并使用空格填充至长度width的新字符串

mystr.ljust(width)

wKiom1nV4RHRK5uZAAA3ebXW-OU587.png

12.rjust

返回一个原字符串右对齐,并使用空格填充至长度width的新字符串

mystr.rjust(width)

wKiom1nV4VXgYmLQAAA399A2mVw144.png

13.center

返回一个原字符串居中,并使用空格填充至长度width的新字符串

mystr.center(width)

wKiom1nV4aiTLZAYAABd-ZC2kGk430.png

14.lstrip

删除mystr左边的空格

mystr.lstrip()

wKioL1nV4dTQehTyAABqQ3d8_QI764.png

15.rstrip

删除mystr字符串末尾的空格

mystr.rstrip()

wKiom1nV4lGBm1x0AAA41V4WdLw789.png


16.rfind

类似于find函数,不过是从右边开始查找

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

wKioL1nV4jqzA9XfAABE3W2vUr0942.png

17.rindex

类似于index(),不过是从右边开始

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

wKiom1nV4uzzXIanAACKAyKwwB0478.png

18.partition

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

mystr.partition(str)

wKioL1nV4v6yjMhAAABe-uDYbVo986.png

19.rpartition

类似于partition()函数,不过是从右边开始

mystr.rpartition(str)

wKiom1nV48GQxpd3AACYo3ixzZ0663.png

20.splitlines

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

mystr.splitlines()

wKiom1nV5CLQqU2oAABhlJU9neI987.png

21.isalnum

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

mystr.isalnum()

wKiom1nV5HbDvfL-AAC29z08dpg341.png

22.isalpha

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

mystr.isalpha()

wKiom1nV5LzAlA4IAACNF6DkxKo882.png

23.isdigit

如果mystr只包含数字则返回True,否则返回False

mystr.isdigit()

wKiom1nV5QLDxOdhAACNATR77DA400.png

24.isspace

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

mystr.isspace()

wKiom1nV5TjzJT6EAACuW47rga8480.png

25.isupper

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

mystr.isupper()

wKiom1nV5XfAcrJZAABd6V-YE6o292.png

26.join

mystr中每个字符后面插入str,构造出一个新的字符串

mystr.join(str)

wKioL1nV5W2DOEqyAACCGlds_Qs449.png


三、列表介绍

<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

wKiom1nV6OnQ2vbqAAAwy1AYFzA042.gif

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:(找到)

wKioL1nV6ijADBNZAAAl3Vr0lMA033.gif结果2:(没有找到)

wKioL1nV6kLS6EtMAAAnVquUVZI923.gif说明:

    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

结果:

    ------删除之前------
    加勒比海盗
    骇客帝国
    第一滴血
    指环王
    霍比特人
    速度与激情
    ------删除之后------
    加勒比海盗
    骇客帝国
    第一滴血
    霍比特人
    速度与激情