【Python】基础

浏览: 1410

工具  Anacoda Jupyter

快捷键

执行当前cell,并自动跳到下一个cell:`Shift Enter`

执行当前cell,执行后不自动调转到下一个cell:`Ctrl-Enter`

使当前的cell进入编辑模式:`Enter`

帮助:`Shift Tab`


数据类型

    type()

运算符号

+    -    * /     

%    返回除法的余数

** 幂 

//    取整除


变量 

    a,b=1,2  多变量赋值
    a=a+1 变量重新赋值 等价于a+=1

数据结构

1.列表 list 

    num = [1,2,3]

(1) 查询

    num[0]=1
    num[0:1]=[1]
    num[0:3]=[1,2,3]
    num[0:len(num)]=[1,2,3]
    num[0:] =[1,2,3]
    num[:2] =[1,2]    
    num[-2:] = [2,3]

(2) 计算

    num[0] + num[1] = 3

(3) 插入

    num.insert(1,4) 在第2个位置添加4
    num.append(6) 在结尾添加6(只能添加单个值)
    num = num +[3,6] 在结尾添加3,6

(4) 删除

    num.pop() 删除最后一个值
    num.pop(1) 删除第2个位置的值

(5) 更改

    num[2] =10 将第3个位置的值改为10

(6) 多维列表 

一维

    a = [1,2,3]

二维

    b = [[1,2],[3,4]]

 

应用 :学生信息表

    name = ['qinlu','lulu','qinqin']
    sex=['male','female','female']
    age=[18,15,17]
    info=[name,sex,age]
    info_2 = [
        ['qinlu','male',18],
        ['qinlu','male',18],
        ['qinlu','male',18]
    ]

快速创建多维列表 

    row = [0]*3
    row = [0,0,0]
    [row] *4 一般运用numpy来做

2.元组 turple 

    a = (1,2) 元组不能修改

 查询 

    a[0] = 1

 3.字典 dictionary 

    a = {'qinlu':18,'lulu':15,'qinqin':17}  键key 值value 对

或者

    a = {'id':1,'name':'qinlu','age':15,'sex':male}字典没有顺序

(1) 查询 

    a['id'] = 1

 (2) 修改

    a['id'] = 2
    a = {'id':2,'name':'qinlu','age':15,'sex':male}

(3) 增加key 

    a['score'] = 60
    a = {'id':2,'name':'qinlu','age':15,'score':60,'sex':male}

集合


    a = [1,2,3,3,4] 
    b = [1,2,9,10]
    set(a) = {1,2,3,4} 去重,不支持索引
    list(set(a)) = [1,2,3,4] 去重,支持索引
    set(a)&set(b) = {1,2} 交集
    set(a)|set(b) = {1,2,3,4,9,10} 并集
    set(a)-set(b) = {3,4} 差集:在a不在b
    set(b)-set(a) = {9,10} 差集:在b不在a
    [1,2]<a
    True 子集

快速索引字典(字典也可以应用集合)

    a = {'id':2,'name':'qinlu','age':15,'sex':male}
    list(a.keys())= {'id','name','age','sex'}
    list(a.values())= {2,'qinlu',15,male}
    list(a.items())=[('id':2,'),('name':'qinlu'),('age':15),('sex':male)]
    a.get('name',None) = qinlu
    a.get('na',None) = None
    a.setdefault('sex','female')查找到则返回,未查找到则更新

控制流


IF语句

    a = 10
    if a>10:
        print('more than 10')
    elif a == 10:
        print('equal to 10')
    else:
        print('less than 10')

IF嵌套(尽量避免嵌套太多的逻辑)

    if a>10:
        print('more than 10')
        if a%2 == 0:
            print('偶数')
        else:
            print('奇数')
    else:
        print('less than 10')

控制流循环


While语句

    count = 0
    while count < 10:
        print('The number is ',count)
        count = count + 1(没有这一条会一直循环下去)

输出是0-9

    count = 0
    while count < 10:
        count = count + 1
        print('The number is ',count)

输出是1-10

break终止语句

    count = 0
    while count < 10:
        count = count + 1
        print('The number is ',count)
        if count == 5:
            break 当计数器到5时终止语句

continue跳过本次循环

    count = 0
    while count < 10:
        count = count + 1
        print('The number is ',count)
        if count == 5:
            continue 当计数器到5时跳过本次循环

例:输出10以下的奇数

    count = 0
    while count < 10:
        count = count + 1
        if count%2 == 0:
            continue
    print('The number is ',count)

 For语句

输出0-9

    for i in range(10):
        print(i)

输出5-9

    for i in range(5,10):
        print(i)

输出5,7,9

    for i in range(5,10,2):
        print(i)

字典循环1

    dict = {
        'a'=1,
        'b'=3,
        'c'='abc'
    }
    
    for k in dict.keys()
        print(k) 

输出

    a
    b
    c

字典循环2

    dict = {
        'a'=1,
        'b'=3,
        'c'='abc'
    }
    
    for k in dict.values()
        print(k) 

输出

    1
    3
    abc    

字典循环3

    dict = {
        'a'=1,
        'b'=3,
        'c'='abc'
    }
    
    for k in dict.items()
        print(k) 

输出

    ('a',1)
    ('b',3)
    ('c','abc')    

字典循环4

    dict = {
        'a'=1,
        'b'=3,
        'c'='abc'
    }
    
    for k,v in dict.items()
        print(k,v) 

输出

    a 1
    b 3
    c abc    

循环进阶


技巧1:一行生成所需列表

    list=[]
    for i in range(1:10):
        if (i%2 == 0) & (i%3 == 0):
        list.append('str'+str(i**2))

等价于

    list=['str'+str(i**2) for i in range(1,10) if (i%2 == 0)& (i%3 == 0)]

技巧2:一行生成所需字典

    dict = {
        'a'=1,
        'b'=3,
        'c'=4
    }
    
    list=[v**2 for v in dict.values() if v%2 ==0]
推荐 2
本文由 呃呃呃呃的猫 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

1 个评论

排版很整齐,不错

要回复文章请先登录注册