四、python开发的基础(2)

字符串 列表 元组

1、 字符串

用来存储用户名、密码的数据

字符串格式:双引号或者单引号中的数据,就是字符串

字符串输出: 格式控制符  "%s"

字符串输入:输入的内容 = input("需要输入的内容")

注意:python2的输入为 raw_input()

2、下标和切片

下标索引:就是指的编号,类似超市储物柜的编号,通过编号就能找到对应的东西

切片(字符串,列表,元组都支持切片操作)

语法:     [起始:结束:步长]  区间位置:左闭右开

倒序的内容输出:      print(name[::-1])

3.字符串常见操作

(1)find/rfind

例如:#检查str是否包含在str1中,如果是返回开始的索引值,否则返回-1

    str1.find()

    str1="good good study,day day up"

    index = str1.find("stu")

    print(index)

(2)index/rindex         跟find()方法一样,只不过目标字符串如果不在要查找的字符串中会报一个异常

(3) count         返回str在目标字符串中start-end之间出现的次数

    str1="good good study,day day up"

    print(str1.count("good"))

(4) replace         把str1中指定的字符串"good",用“222”进行替换,最多替换2次

    str1="good good study,day day up"

    print(str1.count("good"))

    str2 = str1.replace("good","222",2)

    print(str2)

(5)split          以" "为分割符切片str1

    str1="good good study,day day up"

    array = str1.split(" ")

    print(type(array))

    print(array)

(6)capitalize          把字符串的第一个字符大写

    print(str1.capitalize())

(7) title        把字符串中的每一个单词的首字母大写

    print(str1.title())

(8)startswith        检查字符串是否以指定字符串开头,是则返回True,否则返回False

(9)endswith         检查字符串是否以指定字符串结尾,是则返回True,否则返回False

(10) lower        转换字符串中所有的大写字符为小写

(11) upper        转换字符串中所有的小写字符为大写

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

    str1 = "hello"

    print(str1.ljust(10))

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

    str1 = "hello"

    print(str1.rjust(10))

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

    str1 = "hello"

    print(str1.center(10))

(15)lstrip        删除目标字符串左边的空格

    str1 ="    hello    "

    print(str1.lstrip())

(16)rstrip        删除目标字符串右边的空格

    str1 ="    hello    "

    print(str1.rstrip())

(17)strip         删除目标字符串两边的空格

    str1 ="    hello    "

    print(str1.strip())

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

(19)rindex         类似与index()函数,不过是从右边开始查找

(20) partition        把目标字符串分割成str前,str以及str后三部分,得到一个tuple(元组)

    str1="nihaoma"

    str1.partition("hao")

    ('ni', 'hao', 'ma')

(21) rpartition         从右边开始,把目标字符串分割成str前,str以及str后三部分,得到一个tuple(元组)

    str1="nihaoma"

    str1.partition("hao")

    ('ni', 'hao', 'ma')

 (22)splitlines         将目标字符串按照行进行分割,返回一个列表

    str1 = "Hello\nWorld"

    print(str1.splitlines())

(23)isalpha        判断目标字符串中是否所有的字符都为字母,返回True,或者False

    str1 = "123Hello"

    print(str1.isalpha())

(24) isdigit        判断目标字符串中是否所有的字符都为数字,返回True或者False

    str1 = "123Hello"

    print(str1.isdigit())

(25) isalnum        如果字符串中都是字母或者数字则返回True,否则返回False

    str1="abc123"

    print(str1.isalnum())

(26)isspace        如果字符串中只包含空格,则返回True,否则返回False

(27)join        将字符串或者列表,元组中的每个元素(字符)使用指定字符连接起来

    li=["one","two","three"]

    str2="_"

    str2 = str2.join(li)

    print(str2)


列表介绍

语法格式:

names=["李大钊","陈独秀","蔡元培","陈佩斯"]

注意:比C语言中的数组功能更强大,列表中的元素可以为不同类型

1、访问列表中的元素

设置值         list1[0] = 100

获取值         print(list[0])

2、列表的循环遍历

    - 使用for循环进行遍历

    - 使用while循环进行遍历

3、列表的常见操作

append        通过append向指定列表添加元素

extend        通过extend可以将一个列表中的元素逐个添加到另外一个列表中

insert        insert(index,object)在指定的位置处插入元素object

 in        查找  如果存在,则返回True,否则返回False

 not in         与in相反

 index        返回元素在列表中的索引值

                    index(obj)

                    index(obj,fromIndex,toIndex)  区间位置为前闭后开

                    如果没有列表中不包含查找元素,会报错

count        返回元素在列表中出现的次数

del        根据下标进行删除

 pop        删除最后一个元素

remove        根据元素的值进行删除

 改            直接通过下标来修改元素

排序以及列表反转        sort方法将list按特定顺序进行排列,默认为由小到大,参数reverse=True可改为倒序,由大到小

反转方法: reverse()

4、列表的嵌套

一个列表中的元素,又是一个列表

嵌套列表的遍历

```

l1=[[1,2],4,[5,6]]

for l in l1:

    if type(l) == list:

        for ll in l:

            print(ll)

    else:

        print(l)

    print("-"*10)

```


元组

元组概念:Python的元组与列表类似,不同之处在于元组的元素不能修改,元组使用“()”,列表使用"[]"

- 操作

    - 访问

    ```

    t=(1,2,3)

    print(t[0])

    修改或者删除元素的话会报错:

    t[0]= 10

    删除报错:

    t.pop()

    但是可以变向进行删除

    tuple->list(进行删除操作)->tuple

    ```

#### 字典介绍

- 字典的引入

```

#如何存储将多个国家的简称及名字完成对应的存储?

#例如:  CN:中国 JP:日本 US:美国

country = {"CN":"中国","JP":"日本"}

```

- 字典中元素的访问:

    -  直接访问

    ```

    print(country['CN'])

    打印结果:"中国"

    如果没有"CN"这个key,则会报错

    ```

    - 通过get方法访问

    ```

    value=country.get('CN')

    #这时候value的值为 "中国"

    value = country.get('SH','中国')

    #这个意思是如果有key ‘SH’则得到对应值,没有的话,得到默认值"中国"

    ```

- 字典的常见操作1

    - 修改元素

    ```

    可以直接进行修改

    student={'name':'陈独秀','age':99}

    student['age']=100

    ```

    - 添加元素


    ```

    student['address']='北京市朝阳区'

    #如果字典中没有'address'这个key,则会将这个元素条件到字典中,如果已经包含这个key

    则新值会将旧值覆盖

    ```

- 删除元素

    -  del 删除

    ```

    #例:

    #删除某个key

    del student['age']

    #删除所有的键值对,删除之后,将不能在进行访问

    ```

    - clear 

    ```

    #清空所有的键值对,清除后依旧可以进行访问

    stu.clear()

    ```

- 字典的常见操作2

    -  len()  键值对个数的获取

    ```

    stu={'name':‘xiaoming’,'age':19}

    len(stu)

    #长度为2

    ```

    -  keys()

    ```

    #返回一个字典中所有的key的列表

    allKeys= stu.keys()

    for k in allKeys:

        print(k)

        print(allKeys[k])

    ```

    - values()

    ```

    #返回一个包含字典所有value的列表

    stu.values()

    #['xiaoming',19]

    ```

    - items()

    ```

    #返回一个包含所有(键、值) 元组的列表

    stu.items()

    #[('name','xiaoming'),('age',18)]

    ```

- 字典的遍历

    - 所有key的遍历

    ```

    stu={'name':'xiaoming','age':19}

    for key in stu.keys():

      print(key)


    ```

    - 所有value的遍历


    ```

    stu={'name':'xiaoming','age':19}

    for value in stu.values():

    print(value)

    ```

    - 所有item的遍历

    ```

    stu={'name':'xiaoming','age':19}

    for item in  stu.items():

        print(item)

    ```

    - 所有key和value的遍历

    ```

    stu={'name':'xiaoming','age':19}

    for key,value in stu.items():

        print(type(value))

        print("%s=%s"%(key,value))

    ```

#### 公共方法

- 公共运算符

    - '+'

    ```

    作用:合并、连接

    例:str1="hello"+"world"

    结果:”helloworld“

    list1=[1,2]+[3,4]

    结果:[1, 2, 3, 4]

    例:tuple1=(1,2) + (3,4)

    结果:(1,2,3,4)

    ```

    - '*'

    ```

    作用:复制

    例:  'hello' * 2

    结果: 'hellohello'

    例: [1,2] * 2

    结果:[1,2,1,2]

    例:(1,2) * 2

    (1,2,1,2)

    ```

    - in

    ```

    作用:元素是否存在

    例:

    result = '123' in 'HelloWorld123'

    print(result)

    result= 1 in [1,2]

    print(result)

    result = 2 in (1,2)

    result = 'name' in {'name':'xxx','age':12}

    print(result)

    ```

    - not in

    ```

    作用:元素书否不存在,用法跟in 一样

    ```

- python的内置函数

    - len

    ```

    作用:得到元素的个数

    例:len([1,2])

    len((1,2))

    获取到的为键值对个数

    len({'name':'xiaoming','age':18})

    ```

    - max(...)

    ```

    作用:获取最大值

    例:

    max(1,2,3)

    max([1,2,3,4])

    找字典中的最大键

    a =max({'a':1,'b':2,'x':3})

    ```

    - min(...)

    ```

    作用: 获取最小值(用法与max一致)

    ```

    - del

    ```

    删除元素或者删除容器

    del 元素/容器变量名

    del list1[0]

    del list1

    ```

    - 变量.del() 

    ```

    #在python3中已经不存在这种用法

    list1 = [1,2,3]

    list1.del()

    ```

- 引用的使用

    - 什么是引用

    ```

    windows中的快捷方式

    家庭地址

    ```

    - 非引用类型案例:

    ```

    a = 10

    b = a

    print(id(a))

    print(id(b))

    b=100

    print(a)

    print(b)

    print(id(a))

    print(id(b))

    ```

    - 引用类型案例:

    ```

    list1 = [1,2,3]

    list2 = list1

    print(id(list1))

    print(id(list2))

    list2[0]=100

    print(list1)

    print(list2)

    print(id(list1))

    print(id(list2))

    ```

    - 引用类型内存图分析

你可能感兴趣的:(四、python开发的基础(2))