• Python基础


    基础

    标识符

    • 第一个字符必须是字母或下划线 _

    • 标识符的其他的部分由字母、数字和下划线组成

    多行语句

    如果语句很长,可以使用反斜杠()来实现多行语句,例如:

    total = item_one + 
          item_two +
          item_three

    print

    print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""peint("abc",end="")

    数据类型

    • 不可变数据(3 个):Number(数字)、String(字符串)、Tuple(元组);

    • 可变数据(3 个):List(列表)、Dictionary(字典)、Set(集合)。

    数字Number

    int、bool、float、complex

    数学函数

    • abs(),绝对值

    • floor(),地板数

    • max(),min()

    • round(x,[n]),四舍五入,n为保留小数位数

    • sqrt(),平方根

    • random(),随机生成下一个实数,它在[0,1)范围内。

    字符串String

    字符串的截取的语法格式如下:变量[头下标:尾下标:步长],左闭右开,步长为负数表示逆向读取,翻转字符串:s[-1::-1]

    转义符 ,防止转义(row String) r'ab cd'

    字符串格式化

    • %: %s 表示字符,%d 表示整数,%f 表示小数

    • f-string:以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去;f'{变量名}'

    • str.format():使用方法

      • '{}xxx{}'.format(var1,var2)

      • '{0}xxx{1}'.format(var1,var2)

      • '{va1}xxx{var2}'.format(var1='a',var2='b')

      • 常量 PI 的值近似为 {0:.3f}。'.format(math.pi),保留3位小数

    字符串的方法

    • count(str),str 在 string 里面出现的次数

    • find(str),检测str是否在string中,返回索引值或者-1

    • index(str),检测str是否在string中,返回索引值或者抛出异常

    • isspace(str),string 中只包含空白,返回True、False

    • join(seq),以string作为分隔符,将 seq 中所有的元素合并为一个新的字符串

    • strip(),截掉string两边的空格或指定字符;lstrip()、rstrip()

    • split(str),以str为分隔符截取string

    列表List

    列表是写在方括号 [] 之间、用逗号分隔开的元素列表。

    列表的方法

    • remove(obj),删除列表中的元素

    • reverse(),反向列表元素

    • sort(),列表元素排序

    元组Tuple

    元组的元素值不能修改。元组写在小括号 () 里,元素之间用逗号隔开,可以把字符串看作一种特殊的元组。

    tup1 = ()    # 空元组
    tup2 = (20,) # 一个元素,需要在元素后添加逗号

    集合Set

    用大括号 { } 或者 set() 函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

    集合的方法

    • add(),添加元素,参数是单个元素

    • update(),添加元素,参数可以是seq

    • remove(),删除元素,元素不存在报错

    • discard(),删除元素,元素不存在不报错

    字典Dictionary

    字典用 { } 标识,它是一个无序的 键(key) : 值(value) 的集合。键(key)必须使用不可变类型。

    字典的方法

    • items(),以列表返回可遍历的(键, 值) 元组数组

    • key in dict,如果键在字典dict里返回true,否则返回false

    运算符

    and、or、not、in、not in、is、is not

    is 和 ==

    • is 判断是不是引用自一个对象,类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False

    • == 比较对象的值是否相等

    • is 用于判断两个变量引用对象是否为同一个, == 用于判断引用变量的值是否相等

    数值运算:

    • / 除法,返回浮点数

    • // 除法,返回整数

    • ** 乘方,2**5 2的5次方

    条件控制

    if condition_1:
       statement_block_1
    elif condition_2:
       statement_block_2
    else:
       statement_block_3

    循环语句

    while

    while 判断条件(condition)
       执行语句(statements)……

    while...else,条件为false 时执行 else 的语句块

    while <expr>:
       <statement(s)>
    else:
       <additional_statement(s)>

    for...else

    for <variable> in <sequence>:
       <statements>
    else:
       <statements>

    break、continue同Java

    错误和异常

    捕获异常

    try:
      ...
    except xxError:
      ...  #异常时执行
    else:
      ...  #无异常时执行
    finally:
      ...  #有无异常都会执行

    抛出异常

    raise Exception(...)

    迭代器

    迭代器有两个基本的方法:iter()next()

    使用了 yield 的函数被称为生成器(generator),在调用生成器运行的过程中,每次遇到 yield 时函数会暂停并保存当前所有的运行信息,返回 yield 的值, 并在下一次执行 next() 方法时从当前位置继续运行。

    遍历技巧

    字典遍历,关键字和对应的值可以使用 items() 方法同时解读出来:

    dict={'name':'tom','age':18}
    for k,v in dict.items():
       print(k,v)

    序列遍历,索引位置和对应值可以使用 enumerate() 函数同时得到:

    for i,v in enumerate(['a','ab','abc']):
       print(i,v)

    同时遍历两个或更多的序列,可以使用 zip() 组合:

    num=[1,2,3]
    str=['a','b','b']
    for n,s in zip(num,str):
       print(n,s)
  • 相关阅读:
    遗传算法求解TSP问题
    蚁群算法求解TSP问题
    遗传算法之函数优化
    k-means和iosdata聚类算法在生活案例中的运用
    MATLAB实现模糊控制
    感知机算法及BP神经网络
    K-means聚类算法
    链表_leetcode92
    链表_leetcode86
    链表_leetcode83
  • 原文地址:https://www.cnblogs.com/yjh1995/p/14753208.html
Copyright © 2020-2023  润新知