美文网首页
python基础学习笔记

python基础学习笔记

作者: Almira_SY | 来源:发表于2019-11-27 17:50 被阅读0次
    1、数据类型和变量

    常见基本数据类型:整数、浮点数、字符串、布尔值、空值none。此外还有列表,字典以及自定义数据类型

    字符串:\转义符,r默认不转义,'''...'''可打印多行文字,举例:

    >>> print('\\\t\\')
    \ \
    >>> print(r'\\\t\\')
    \\\t\\
    
    >>> print('''line1
    ... line2
    ... line3''')
    line1
    line2
    line3
    
    2、占位符%

    %运算符就是用来格式化字符串的。在字符串内部,%s表示用字符串替换,%d表示用整数替换,有几个%?占位符,后面就跟几个变量或者值,顺序要对应好。如果只有一个%?,括号可以省略。举例:

    占位符            %d         %f             %s            %x   
    替换内容          整数      浮点数         字符串     十六进制整数       
    
    >>> 'Hi, %s, you have $%d.' % ('almira', 1000000)
    'Hi, almira, you have $1000000.'
    
    3、列表list和tuple

    是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。

    list,可变有序列表,可随时增删其中元素等
    创建列表--列出列表所有内容--显示列表长度--指定显示列表元素--列表末端添加元素--指定位置插入元素--删除末端元素--删除指定位置元素--修改指定位置元素--列表中的元素类型可不一致--二维列表(可更多维但不常见)--显示二维列表指定元素

    >>> classmates = ['Michael', 'Bob', 'Tracy']
    >>> classmates
    ['Michael', 'Bob', 'Tracy']
    >>> len(classmates)
    3
    >>> classmates[0]
    'Michael'
    >>> classmates.append('Adam')
    >>> classmates.insert(1, 'Jack')
    >>> classmates.pop()
    >>> classmates.pop(1)
    >>> classmates[1] = 'Sarah'
    >>> L = ['Apple', 123, True]
    >>> s = ['python', 'java', ['asp', 'php'], 'scheme']
    >>> len(s)
    4
    >>>s[2][1]
    

    tuple ,不可变的有序列表,它也没有append(),insert()这样的方法。其他获取元素的方法和list是一样的。
    定义tuple--定义空tuple--定义一个元素的tuple(必须加,号)--“可变tuple”

    >>> t = (1, 2)
    >>> t
    (1, 2)
    >>> t = ()
    >>> t
    ()
    >>> t = (1,)
    >>> t
    (1,)
    >>> t = ('a', 'b', ['A', 'B'])
    >>> t[2][0] = 'X'
    >>> t[2][1] = 'Y'
    >>> t
    ('a', 'b', ['X', 'Y'])
    
    4、条件判断

    if语句执行从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,就忽略掉剩下的elif和else
    if语句的完整形式如下:

    h=float(input('请输入你的身高'))
    w=float(input('请输入你的体重'))
    BMI_Code=w/h**2
    if BMI_Code<18.5:
         print('过轻')
    elif BMI_Code>18.5 and BMI_Code<25:
          print('正常')
    elif BMI_Code>25 and BMI_Code<28:
         print('过重')
    elif BMI_Code>28 and BMI_Code<32:
         print('肥胖')
    else:
        print('严重肥胖')
    

    input()返回的数据类型是str,str不能直接和浮点数比较,必须先把str转换成浮点数。Python提供了float()函数来完成这件事情(整数用int()函数)

    5、循环

    A、for X in 循环,依次把每个元素带入到变量X,然后执行缩进块里的语句,举例:

    names=["almira","mark","luci"]
    for name in names:
        print(name)
    sum=0
    -----------------------------------------------------------
    for x in [1,2,3,4,5,6,7,8,9,10]:
        sum=sum+x
    print (sum)
    

    Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

    >>> list(range(5))
    [0, 1, 2, 3, 4]
    -----------------------------------------------------------------
    m=0
    L=range(101)
    for n in L:
        m=m+n
    print(m)
    ------------------------------------------------------------------
    m=0
    for n in range(101):
        m=m+n
    print(m)
    '''
    

    B、while循环,只要满足条件就会一直循环执行缩进块里的语句,不满足条件立即退出循环。举例依次打印100以内的奇数:

    sum=0
    n=1
    while n<100:
        sum=sum+n
        n=n+2
    print(sum)
    -----------------------------------------------------------
    sum = 0
    n = 99
    while n > 0:
        sum = sum + n
        n = n - 2
    print(sum)
    

    C、break可以直接结束循环,举例:

    n=1
    while n<100:
        if n>10:
            break
        print(n)
        n=n+1
    print('end')
    

    D、continue结束当前这次循环直接开始下一循环,举例(只打印10以内奇数):

    n=0
    while n<10:
        n=n+1
        if n%2==0:
         continue
        print(n)
    
    6、字典dict和集合set

    A、字典dict,使用键值对(key-value)存储。保证hash的正确性,作为key的对象就不能变。在Python中,字符串、整数等都是不可变的,因此,可以放心地作为key。而list是可变的,就不能作为key
    与list比较:
    dict:
    ①、查找和插入的速度极快,不会随着key的增加而变慢;
    ②、需要占用大量的内存,内存浪费多
    list:
    ①、查找和插入的速度的时间随着元素的增加而增加;
    ②、占用空间小,浪费内存很少
    初始化dict:

    d={'almira':27,'mark':22,'luci':39}
    

    通过key插入值

    d['smith']=34
    

    删除key,用pop(key)方法,对应的value也会在dict中删除:

    d.pop('mark')
    

    两种方法避免key不存在的错误
    ①、通过in方法判断,举例:

    print('mark' in d)
    

    ②、通过dict的get()方法判断,如果key不存在,可以返回None或者自己指定的value,举例:

    d.get('Thomas')
    d.get('Thomas', -1)
    

    B、集合set
    创建一个set,需要提供一个list作为输入集合,可以将s = set([1, 2, 3]) 中的 [1,2,3] 理解为set这个类型对其包含的数据的一个形式上的要求,这里并不是list作为set的key,而是list中的元素作为了set的key。
    换句话说,无论你准备把任何东西装入set,它都必须先是一个list(或者tuple)的形式,甚至是空集,也得是 [ ] 。

    >>> s = set([1, 2, 3])
    >>> s
    {1, 2, 3}
    

    s = set((1,[2,3])报错是因为把tuple列表扒开来是1,和list列表,list列表是可变的不可作为key

    set增加元素---add(key)
    可以重复添加但不会有效果,重复元素在set中会被自动过滤

    >>> s.add(4)
    >>> s
    {1, 2, 3, 4}
    >>> s.add(4)
    >>> s
    {1, 2, 3, 4}
    

    set删除元素---remove(key)

    >>> s.remove(4)
    >>> s
    {1, 2, 3}
    

    set可以看作数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作

    >>> s1 = set([1, 2, 3])
    >>> s2 = set([2, 3, 4])
    >>> s1 & s2
    {2, 3}
    >>> s1 | s2
    {1, 2, 3, 4}
    

    根据以下廖雪峰前辈文章学习记录:

    相关文章

      网友评论

          本文标题:python基础学习笔记

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