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)
原文地址:https://www.cnblogs.com/yjh1995/p/14753208.html