Skip to content

日常语法

简介

  Python是强类型动态脚本语言,是一门非常流行的编程语言,它具有简单易学、易读、易扩展、易维护等特性,并且拥有丰富的第三方库支持。
  python中一切皆对象。对象包括:标识(identity)[id()]、类型(type)[type()]、值(value)[print(x,end='')]。

变量定义

声明变量没有赋值,print(a)会报错:NameError: name 'a' is not defined

python
 a = 1;  # 变量名 = 变量值
 b = 'abc'
 c = 55.41
 d = None

关键词

  • continue 跳过当前循环,继续下一次循环
  • break 跳出循环

数据类型

基本类型明细高级类型明细
NumberIntegerTuple内部元素不可修改(元组)
NumberLong integerList内部元素可修改(列表)[可变类型]
NumberDouble-precision floatingSet无序[可变类型]
NumberComplex numberDictionary键值对
BooleanTrue/False
String零个或者多个字符组成的有限序列

类型转换

数据类型描述样例
int()转换为整数
long()转换为长整数
float()转换为浮点数
complex()创建一个复数
str()转换为字符串
repr()将对象转换为表达式字符串
eval()执行一个字符串表达式
tuple()转换为元组a = 1,2
b = (1,2)
c = (1,)
d = ()
e = tuple("abc")
f = tuple(range(3))
g = tuple((1,2))
h = zip(a,b)
list()转换为列表list=[]
range(1,5,2)
a=[x*1 for x in range(1,5)]
a= [10]   a.append(20)
a=[10]   b=[20]   c = a+b = [10,20]   d = a.extend(b) [性能比a+b高]
a.insert(索引位,插入值)
del a[索引位] a.pop(索引位)
set()转换为集合a = {1,2,4}
b = {'a','b','c'}
c = {3,4,True,'ab',56.4}
a = ['a','b','c'] b = set(a)
dict()转换为字典a = {'name':'locke'}
b = dict(name='locke')
c = dict([('name','locke'),('age','18')])
d = {}
e = dict()
f = dict.fromkeys(['name','age'])
forzenset()转换为不可变集合
chr()将一个整数转换为字符
unichr()将一个整数转换为Unicode字符
ord()将一个字符转换为整数
hex()将一个整数转换为十六进制字符串
oct()将一个整数转换为八进制字符串
python
a = 10
b = 20 
eavl("a+b")  执行表达式  = 30

'#'*10 = ##########

a = [1]
a*3 = [1,1,1]

sort(a,key = lambda x:-x)  # 倒叙  lambda匿名函数

# 解包
x,y,z = (1,2,3)
[a,b] = [1,2]

# 字典
for i,key in enumerate(c)  # 打印 下标,key值,value值
    print(i,key,c[key])
  
a = [1,2,3]
b = ['a','b','c']
dict(zip(b,a))    # 输出 {'c':3,'a':1,'b':2}

# set
a|b  # 并集
a&b  # 交集
a-b  # 差集

语法说明

作用域:根据缩进层级来判断,缩进为4个空格,缩进层级相同,为同一作用域。

条件判断

单分支

python
 if 条件表达式:
    语句/语句块

多分支

python
 if 条件表达式1:
    语句1/语句块1
 elif 条件表达式2:
    语句2/语句块2
 else:
    语句3/语句块3

三元条件运算符

python
 x = a if 条件表达式 else b  # true情况返回a,false情况返回b

循环

while循环

python
  while 条件表达式:    # 注意条件表达式跳出逻辑
    语句/语句块
  else:              # 可选, 循环正常结束执行
    语句/语句块

for循环

range(4) => [0,1,2,3] 左闭区间右开区间

python
    for 变量 in 迭代对象:  # 迭代对象可以是列表、元组、字典、字符串等
        语句/语句块
    例子:
    for i in range(4):
        print(i)

递归

经典算法:阶乘、斐波那契数列

python
def fun(a,b):
    if len(a)==2:
      return a[0]+a[1]+b
    return fun(a[:-1],a[-1])+b
    
fun(a[:-1],a[-1])

切片

应用:字符串、列表、元组等

python
    列表[start:end:step] # start:起始偏移量  end:终止偏移量 step:步长
    样例:
    下标为正数: 左侧开始计数,下标从0开始,左闭右开区间
    [1,2,3][:]   获取全量数据 [1,2,3]
    [1,2,3][1:]  从下标1开始获取 [2,3]
    [1,2,3][:2]  从头开始获取2(end)-1数据 [1,2]
    [1,2,3,4,5,6,7][1:6:2]  获取下标1-6(end)-1,步长为2的数据 [2,4,6]
    
    下标为负数: 右侧开始计数,从1开始,下标为数量
    [1,2,3][-1:]  从下标-1开始获取 [3]
    [1,2,3][::-1] 倒叙 [3,2,1]

上次更新于: