美文网首页
day6-markdown总结

day6-markdown总结

作者: DoubleKou | 来源:发表于2018-08-27 20:30 被阅读0次

    python基础语法:

    1.复习

    1.变量名的声明:

    1.变量名 = 值;
    2.变量名:标识符,不能使用关键字;
    3.变量名的写法;
    4.声明变量/给变量赋值的原理。

    2.运算符:

    1.+,-,*,/,//
    2.<,>,==,!=,%=...
    3.运算符的优先级:可以通过加括号改变运算顺序

    3.字符串:

    • 字符编码(Unicode),char(),ord()的用法
    • 获取单个或者部分字符:字符串[index],字符串[下标1:下标2:步进]
    • 运算:+,*,>,<,=,(比较运算都支持),in,not,len()
    • 相关方法

    4.分之:

    1.if 条件语句:
    执行语句
    2.if-else
    if 条件语句:
    执行语句1
    else:
    执行语句2
    3.if-elif-else
    elif 条件语句:

    5.循环结构

    1.for循环

    for 变量名 in 序列:
        循环体
    执行过程
    

    2.while循环

    while 条件语句:
        循环体
    执行过程
      
    

    3.break,continue,else

    break和continue写在循环体中的
    else写在循环外,循环遇到break,else中的语句不会执行
    

    二,列表:

    • list(列表)
      1.列表是python中的容器类型;
      2.有序的可变的容器(可变指的是列表中元素和元素的位置可变);
      3.元素:指的是列表中每一个内容
      4.有序->可以通过下标来获取元素;
      5.可变->可以进行增删改(查)

    1.列表的声明:

    a.声明变量,赋列表值;
    例如:声明了一个列表,列表中有5个元素,分别是90,80,97,67,55
    score = [90, 80, 97, 67, 55]
    print(score,type(score))
    

    2.元素:指的是列表中的每一个内容,列表中的元素可以是任意类型的数据

    person = ['吕', 18, '男']
    一个列表中的元素可以不一样
    print(person)
    name = '王海飞'
    age = 20
    person2 = [name, age, '男']
    print(person2)
    name = []
    print(name,type(name))
    将其他数据类型转换成列表(只有序列才能转换:字符串和range,字典,元祖,集合,生成式,迭代器)

    chars = list('abcd')
    print(chars)
    numbers = list(range(10))
    print(numbers)
    

    3.列表的增删改查

    1,获取列表元素

    a.获取单个元素:列表[下标]
    b.下标范围:0元素个数-1或者-1元素个数
    注意:获取单个字符下标不可以越界
    步进值是正的就从前往后取,步进是负的就是从后往前取

    tv_names = ['请回答1988', ’琅琊榜‘, ’甄嬛传‘]
    print(tv_names[1])
    print(tv_names[-1])
    c.获取部分元素(切片):列表[下标1:下标2:步进]

    tv_names = ['请回到1988', '琅琊榜', '甄嬛传']
    print(tv_names[1])
    print(tv_names[-1:-4:-1])
    print(tv_names[:8:1])   
    

    d.遍历(一个一个的获取每个元素)
    可以将列表直接放在for循环in的后面,循环过程中,for后面的变量取得是列表中的元素

    for item in tv_names:
        print(item)
    print(tv_names[2])
    

    练习:写一个列表来保存一个班的学生的成绩(6个),统计班上成绩在80分以上的成绩

    count=0
    scores=[65, 88, 72, 76, 96, 99]
    for score in scores:
        if score>80:
        count+=1
    print(count)
    

    2.改(修改元素的值)

    语法:列表名[下标]=新值 通过下标来获取元素,然后重新赋值.

    person = ['小吕', 18, '乒乓球']
    person[1] = 23  //修改person中下标是1的元素
    print(person)
    person[2] = '篮球'
    print(person)
    

    3.增(增加列表元素)

    a.列表.append() 列表的最后去添加一个元素

    person.append('男')
    print(person)
    person.append(80)
    print(person)
    

    b.列表.insert(下标,元素) 功能:在指定的下标前插入一个元素。
    列表中的元素发生改变是,列表的每一个元素下标会根据新的位置重新分配

    person.insert(0,'001')
    print(person)
    print(person[1])
    

    练习:录入5个学生的成绩,并且保存在一个列表中

    scores = []
    for x in range(5):
        score = int(input("请输入学生成绩:"))
        scores.insert(0,score)
    print(scores)
    

    4.删除(删除列表中的元素)

    1.del 列表[下标]-->根据下标去删除列表的元素
    del 语句是python中删除数据的语法,他可以删除任何数据

    del 变量 (删除变量)  del 列表 (删除整个列表)
    foods = ['辣条', '棒棒糖', '大蒜', '火锅', '饼干']
    del foods[2]
    print(foods)
    

    2.列表.remove 元素 删除列表中某个值,如果这个元素在列表中有多个,只删除最前面那个
    foods.remove('饼干')

    1. 列表.pop(下标)-->将列表中指定的值取出来
    foods = ['辣条', '棒棒糖', '大蒜', '火锅', '饼干']
    food = foods.pop(1)
    print(foods)
    

    练习:想尽一切办法将一个保存成绩的列表中,成绩低于60分的全部删除

    [78, 59, 40, 90, 89, 45, 69, 30]
    scores = [78, 59, 40, 90, 89, 45, 69, 30]
    for score in scores[:]:
        if score<60
        scores.remove(score)
    print(scores)
    **注意:以后我们遍历列表元素的时候,我们一般遍历她的拷贝值**
    

    5.操作:

    1.列表1+列表2:

    a = [1,2]
    list = [1,2]+['abc',100]
    print(list)
    **注意:将1中元素和列表2中的元素一次合并,产生一个新的列表**
    

    2.*操作:
    列表1 * N次,产生一个新的列表

    list2 = a * 3
    print(list2)
    

    3.求列表的长度

    len(list)
    print(len(list))
    

    4.列表.extend(序列):将序列中的元素添加到列表中

    numbers = [1, 2, 3, 4]
    numbers.extend([100,200])
    ptint(numbers)
    numbers.extend('abc')
    print(numbers)
    

    5.将列表中的元素反序

    numbers = [1, 2, 3, 4, 5, 6]
    numbers.reverse()
    print(numbers)
    

    6.将列表中的元素反序

    numbers = [1, 2, 3, 4, 5]
    numbers.reverse()
    print(numbers)
    
    numbers = [2,5,6,9,3,7]
    for _ in range(len(numbers)):
        x = numbers.pop()
        print(x,end ='')
    

    7.列表.sort :对列表元素进行排序(默认是升序)
    numbers.sort()
    print(numbers)

    8.列表.copy():将列表中的元素全部拷贝,产生一个新的列表。相当于[:]

    注意:这儿是浅切片(只考虑每个列表的值)
    ​```python
    numbers = [1, 2, 3, 4]
    numbers2 = numbers.copy()
    print(numbers2)
    
    numbers1 = [1, 2]
    numbers = [numbers1, 3, 'abc']
    

    deeocopy//深度切片:通过地址找值,再把值赋给新的地址,再把新的变量给地址存储

    new_numbers2 = copy.deepcopy(numbers)
    numbers1.append(100)
    print(numbers)
    print(new_numbers2)
    

    总结:

    • 浅拷贝:只是单纯的将值拷贝(如果是对象就直接拷贝对象的地址)
    • 深拷贝:会拷贝对象得知对应的值,产生一个新地址,然后新的地址进行赋值

    6.元祖

    元祖就是不可变的列表.列表中除了和可变相关的内容以外,其他的全部适用于元祖
    1.声明元祖:

    tuple = (1, 2, 3, 10, [1, 2])
    print(tuple,type(tuple))
    注意:如果要写一个元祖元素个数是1的字面量,需要在那一个元素后面加逗号
    
    t2 = (100,)
    print(t2,type(t2),len(t2))
    t3 = ()  #空元祖
    print(t3, type(t3))
    

    2.查相关的

    t3 = ('red','yellow','green')
    print(t3[2])
    print(t3[0:3])
    
    for item in t3:
        print(item)
    

    3.特殊操作

    point = (100,200)
    print(point[0],point[1])
    通过两个变量来获取元祖的唯一的两个元素的值
    x, y = point
    print(x, y)
    

    user = ('小吕', 90, 98, 100, '男')
    通过在变量前加,获取元祖/列表中的一部分元素值,结果是一个列表*

    name, *score, sex = user
    print(name, score, sex)
    
    user2 = ('肖红', 90, 85)
    name, *score = user2
    print(name,score)
    
    *score, name, sex = (89,98,'小兰', 'boy')
    print(score, name, sex)
    

    4.多个值之间用逗号隔开,对应的数据也是元祖

    a=1, 2, 3, 4    //相当于 a = (1, 2, 3, 4)
    x, y = 100, 200     //相当于x,y = (100, 200)
    print(x,y)
    print(a, type(a))

    相关文章

      网友评论

          本文标题:day6-markdown总结

          本文链接:https://www.haomeiwen.com/subject/gxatwftx.html