• Python学习一:基本内容


    一、Python规范

    1. 每个import只引入一个模块
    2. 不要在末尾行使用分号
    3. 不要使用反斜杠
    4. 注意代码缩进
    5. 命名模块全部小写并且下划线隔开
    6. 命名包全部小写,不推荐下划线
    7. 命名类名,首字母大写
    8. 命名内部类,下划线_+首字母大写
    9. 命名函数,类方法,全部小写,下划线隔开
    10. 命名常量,全部大写,下划线隔开
    11. 命名下划线开头的模块变量或者函数是受保护的 (import 不会导入)
    12. 双下划线表示私有的
    13. 不是用数字开头,关键字等命名
    14. 区分大小写
    15. __init__(): 表示构造函数

    二、Python基本规范

    2.1 注释

    1 单行注释

    # 注释
    
    • 1

    中文注释

    # coding:编码
    # codign:utf-8
    
    • 1
    • 2

    2 多行注释

    单引号

    '''
    
    '''
    
    • 1
    • 2
    • 3

    双引号

    """
    
    """
    
    • 1
    • 2
    • 3

    2.2 变量

    1 定义变量名

    谨慎用小写字母l和大写字母O
    语法

    变量名=value;
    
    • 1

    2 输出变量名类型

    print(type(变量名))
    
    • 1

    2.3 基本数据类型

    1.数字

    1. 整数
    2. 浮点数
    3. 复数
    实数为3.14 复数为12.5j
    
    3.14+12.5j
    
    • 1
    • 2
    • 3

    2.布尔

    Python 中ture 表示1 false 表示0

    以下几种情况值为0,但是在if,或者while表现为真

    1. False 或 None
    2. 数值中的0包括0.0、0、虚数0j
    3. 空序列,包含字符、空元祖、空列表、空字典
    4. 自定义的实例,该对象的__bool__返回方法为False或者__len__方法返回0

    2.4 数值类型转化

    1. x转整数—>int(x)
    2. x转浮点—>float(x)
    3. 创建一个复数complex(real[,imag])
    4. x转字符串—>str(x)
    5. x转表达式字符串—>repr(x)
    6. x计算字符串中的有限表达式转化为一个对象—>eval(x)
    7. x整数转化一个字符—>chr(x)
    8. 字符转化为整数---->ord(x)
    9. 整数转为16进制字符串hex(x)
    10. 整数转为8进制字符串oct(x)

    2.5 输入和输出

    1.输入input(“提示文字”)

    val=input("提示文字")
    
    val =int(input("提示文字"))
    
    • 1
    • 2
    • 3

    2.输入print(“打印文字”)

    print("打印文字")
    
    • 1
    a=10
    
    b=20
    
    print(a,b)
    
    》》》 10 20
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    输入到文件夹中

    fp=open(r'D:\a.txt','a+')
    
    print("输入到txt内容",file=fp)
    
    fp.close()
    
    • 1
    • 2
    • 3
    • 4
    • 5

    三、Python 运算符与表达式

    3.1 算术运算符

    1.  +
      
      • 1
    2.  -
      
      • 1
    3.  *
      
      • 1
    4.  /  7/2=3.5 Python2.x是3
      
      • 1
    5.  %
      
      • 1
    6.  //  7//2=3 取整数部分
      
      • 1
    7.  ** 幂 返回x的y次方   2**4   16    
      
      • 1

    3.2 赋值运算符

    右边赋值给左边

    1. = x=y
    2. += x+=y---->x=x+y
    3. -= x-=y---->x=x-y
    4. = x=y---->x=x*y
    5. /= x/=y---->x=x/y
    6. %= x%/y---->x=x//y
    7. **=``````x**=y---->x=x**y
    8. //= x//=y---->x=x//y

    3.3 比较(关系)运算符

    1.  >
      
      • 1
    2.  <
      
      • 1
    3.  ==
      
      • 1
    4.  !=
      
      • 1
    5.  >=
      
      • 1
    6.  <=
      
      • 1

    3.4 逻辑运算符

    1. and
    2. or
    3. not

    3.5 位运算符

    1. 按位与运算 &
    2. 按位或运算 |
    3. 按位异或算 ^
    4. 按取反运算 ~
    5. 左移位运算符<<
    6. 右移位运算符>>

    四、Python 流程控制语句

    4.1 IF语句

    1. if语句

    语法

    if 表达式:
    	语句块
    
    • 1
    • 2

    2. if-else语句

    语法

    if 表达式:
    	语句块
    else:
    	语句块
    
    • 1
    • 2
    • 3
    • 4

    3. if-elif-else语句

    语法

    if 表达式:
    	语句块
    elif 表达式:
    	语句块
    else:
    	语句块
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4. if嵌套

    if 表达式:
    			if 表达式:
    			语句块
    		else:
    			语句块
    else:
    	语句块
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4.2 循环语句

    1. while 循环

    while 条件表达式:
    	循环体
    
    • 1
    • 2

    2. for循环

    方法一 借助ragne函数

    for 迭代变量 in 对象
    	循环体
    
    • 1
    • 2
    for i in range(101)
    	print(i)
    	
    >>>0 、1····100
    
    range(start,end,step):
    start起始值,不写默认为0
    end结束值,结束值,不包含
    step:指定步长:默认为1
    
    参数只写一个是end
    
    两个是start和end
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    方法二 直接使用

    string ='不要说我不能'
    for ch in string
    	print(ch)
    》》》
    不
    要
    说
    我
    不
    能
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    4.3 循环中断 break、continue、pass

    1 break 跳出当前循环

    2 continue 结束本次循环,进入下次循环

    3 pass 占位符,不做任何数

    五、Python 列表与元组

    5.1 索引

    Python可以重左边开始也可以从右边开始

    开始的下标分别为0和-1
    在这里插入图片描述

    5.2 切片 中间是分号

    语法:sname[start:end:step]
    sname:系列的名称
    start:开始位置,默认为0
    end:结束位置,默认为长度
    step: :步长,默认为1
    
        valekk = ["1","2", "3","4"]
        print(valekk[1:2:1])
    
    》》》['2']
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    5.3 序列相加

    直接使用+ 必须要相同类型

    5.4 乘法

    if __name__ == '__main__':
        valekk = ["1","2", "3","4"]
        print(valekk*5)
    》》》
    ['1', '2', '3', '4', '1', '2', '3', '4', '1', '2', '3', '4', '1', '2', '3', '4', '1', '2', '3', '4']
    
    • 1
    • 2
    • 3
    • 4
    • 5

    5.5 检查元素是否是成员

    
    if __name__ == '__main__':
        values = ["1","2", "3","4"]
        print('1' in values)
        
    》》》
    True
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    5.6 长度、最大值、最小值

    if __name__ == '__main__':
        values = [1, 5, 4, 6, 7, 8, 9, 5, 3,2]
        print(len(values))  # 长度
        print(max(values))  # 最大值
        print(min(values))  # 最小值
    》》》
    10
    9
    1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5.7 其他函数

    1. list() 将序列转化为列表
    2. str() 将序列转化字符串
    3. sum() 计算元素和
    4. sorted() 对元素进行排序
    5. reversed() 反序系列中的元素
    6. enumerate() 将序列组合成一个索引序列,多用在for循环中
      在这里插入图片描述
      在这里插入图片描述

    5.8 列表

    1.列表的创建和删除

    创建

    方法一:直接使用=创建
    listname=[123,"测试",888]
    
    • 1
    方法二:创建空列表
    emptylist=[]
    
    • 1
    方法三:创建数值列表
    listname=list(rang(10,20,2))
    
    print(listname)
    
    >>>[10,12,14,16,18]
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    方法四:推导式
    items=[Expression for var in range]
    
    Expression :表达式
    var:循环遍历
    range :生成函数对象
    
    items=[Expression for var in list]
    根据list生成新的对象
    price=[1,2,5,6]
    eg:iteams=[int(x*0.5 for x in pritce)]
    
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    删除

    删除列表
    
    del listname
    
    
    • 1
    • 2
    • 3
    • 4

    2.列表的访问

    访问列表元素
    
    方法一:直接print
    
    方法二:通过下标
    
    print(listname[2])
    >>> 14
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    3.列表的遍历

    方法一:使用for

    for item in items:
    	print(item)
    
    • 1
    • 2

    方法二:使用for和enumerate()函数实现

    for index ,item in enumerate(items)
    	print(items[index])
    	print(item)
    	print(index)
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    不换行方法print(,end=") ,end="为不换行输出

    4.添加、删除、修改

    1.添加元素

    items.append(元素)

    items.insert(位置,元素)

    items.extend(seq) #将seq拼接在items后面

    2.修改元素

    items[下标]=元素值

    3.删除元素

    del items[下标]

    items.remove(“元素”)

    4.判断元素是否存在 统计

    items.count(元素)>0 存在

    5.指定元素首次出现的下标

    items.index(元素)

    6.统计元素和

    sum(items[,start])
    start:开始下标

    7.排序

    items.sort(key=元素,reverse=False)

    reverse默认False:升序 reverse=True:降序

    key=str.lower //不区分大小写 默认区分大小写

    8.内置函数sorted()排序
    sorted(items,key=None,reverse=False)

    5.9 元组

    和列表的区别 元组是不可变得,所有的元素用()括起来并且用逗号分开

    items=(元素1,元素2,元素3)

    其实()并不是其标识 逗号才是

    items=元素1,元素2,元素3

    1.创建

    1. 直接用等于号
    2. 创建空元组 ltems=()
    3. 创建数值元组 tuple(date) date可以使字符串也可以是函数
    eg
    items=tuple(range(1,5))
    》》》
    (1,2,3,4)
    
    • 1
    • 2
    • 3
    • 4
    1. 删除元组del items
    2. 访问元素 items[下标]
    3. 访问元素使用enumerate(items)
    for index ,item inenumerate(items)
    	print(item)
    
    • 1
    • 2
    1. 修改元组—》重新赋值,这里不是真正意义上的修改
    items[下标]=元素
    items=元组1+元组2
    连接的元组只有一个的时候一定要加逗号
        iteams1=(1,2,3)
        iteams2=(4,)
        print(iteams1+iteams2)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    六、Python 字典和集合

    6.1 字典

    相当于java的MAP
    dictionary={‘key’:‘value’,‘key’:‘value’,‘key’:‘value’,‘key’:‘value’,}

    1. 通过键获取
    2. 键值唯一
    3. 字典可变建不变
    4. 字典是无序的

    1.创建和删除

    创建

    方法一:直接使用等于号

    dictionary={‘key’:‘value’,‘key’:‘value’,‘key’:‘value’,‘key’:‘value’,}

    方法二:映射函数创建字典表

    dictionary=dist(zip(list1,list2))

    zip()函数:将多个或者一个列表、元祖对应的位置组合成字典表

    方法三:指定键值对

    dictionary=dict(key1=value1,…keyn=valuen)

    eg
    dictionary=dict(元素='值',...keyn=valuen)
    
    • 1
    • 2

    方法四:指定所有的值为key

    names=['元素1','元素2','元素3']
    items=names.forkeys(names)
    
    print(items)
    》》》
    {['元素1':None,'元素2':None,'元素3':None}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    删除

    删除

    del items
    
    • 1

    清除

    del.clear()
    
    • 1

    2.访问

    1.通过key值

    value=items[key元素]

    2.Python推荐方法是通过get函数

    value=items.get(key元素)
    value=items.get(key元素1,key元素2)

    3.遍历字典items()函数

    dictionary.items()

    for item in dictionary.items()
    print(item)

    4.添加

    dictionary[key]=value

    5.删除

    del dictionary[“元素”]

    6.2 集合

    不允许重复

    1.创建

    方法一:直接使用{}创建

    setname={集合元素1,集合元素2,集合元素3}
    
    • 1

    方法二:使用set()函数创建
    setname=set(内容)

    eg:
        set1=set("命运给予我们的不是失望之酒,而是机会之杯")
        print(set1)
        set2=set([1,2,3])
        print(set2)
        set3=set(('人生苦短','及时跳槽'))
        print(set3)
        》》》
    {'命', '酒', ',', '之', '会', '而', '是', '望', '们', '不', '我', '杯', '失', '给', '运', '予', '机', '的'}
    {1, 2, 3}
    {'人生苦短', '及时跳槽'}
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    2.添加

    setname.add(元素内容)

    3.删除

    setname.pop()//移除最后一个
    setname.clear()
    setname.remove(元素)

    4.交集 &

    5.并集 |

    6.差集 -

        set1=set([1,2,3])
        print(set1)
        set2=set([3,4,5])
        print(set2)
        set3=set([5,6,7])
        print(set3)
    
        print(set1&set2)
        print(set1|set2|set3)
        print(set1-set2)
    
    》》》
    
    {1, 2, 3}
    {3, 4, 5}
    {5, 6, 7}
    {3}
    {1, 2, 3, 4, 5, 6, 7}
    {1, 2}
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
  • 相关阅读:
    边端小场景音视频流分发架构
    【Java】快速入门
    【知识图谱论文】视觉语境对知识图谱真的有帮助吗?表征学习视角
    xcode swift 单元测试 test
    测试用例的设计方法(全):等价类划分方法
    [计算机网络实验] ICMPv4协议
    xbox下载游戏速度一直为0b/s怎么办?
    linux网络编程-TCP-TCP协议
    向量的运算
    【打卡】21天学习挑战赛—RK3399平台开发入门到精通-day9
  • 原文地址:https://blog.csdn.net/huiguo_/article/details/125492634