一、格式化输出

1.拼接符+

print(“变量名” + 变量)  # 注意:变量必须为字符串类型

,

print(“变量名”, 变量)

3.格式化符号

%03d    # 不足三位则在前面填充0补足

%.2f    # 保留两位小数

%(变量1, 变量2)    # 格式化输出多个变量

4.f格式化字符串

v = '变量'
print(f”{v}”)
print(f"""第一行:
第二行:{v}""")

a = 0.25
b = 12345
print(f'{a:2f}') # 保留小数点后两位
print(f'{a:0f}') # 不带小数
print(f'{n:0>7d}') # 左边补零
print(f'{n:0<7d}') # 右边补零
print(f'{n:,}')  # 逗号分隔
print(f'{a:.2%}')  # 百分比格式
print(f'{n:.2e}')  # 指数记法

  

二、print()函数

print(*objects, sep=' ', end='\n', file=sys.stdout, flush=False)
  • objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
  • sep -- 分隔符,默认为空格。
  • end -- 用来设定以什么结尾,默认值是换行符 \n。
  • file -- 定义流输出的文件,默认为标准的系统输出sys.stdout。
  • flush -- 是否立即把内容输出到流文件,不作缓存,默认为False。

 

# 打印列表
list = [1,2,3,4,5]
print(list)  # 普通打印
print(*list, sep='\n')  #带分隔符

  

三、数据类型

1.布尔型 bool

True为真,False为假

注意:区分大小写

 

all([1, 0, 2])  # 所有元素都为真则返回True,否则为False
any([0, 0, 1])  # 至少有一个元素为真返回True,否则为False

 

2.列表 list,有序,可重复

list = [1, 2, 3, 4]

3.元组 tuple,有序,只读

tuple = (1, 2, 3, 4)

4.将元组中的数据赋值给多个变量

a, b, c = (1, 2, 3)    # a=1, b=2, c=3
a, b, *c =  (1, 2, 3, 4, 5)    # a=1, b=2, c=[3, 4, 5]

5.集合set,无序,不重复

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

s = {1, 2, 3}
s = set(1, 2, 3)

6.多个变量赋值

a, b, c = 1, 2, 3
a, b = b, a  # 此方法可以交换两个变量的值,不需要借助第三变量

 

7.多个变量赋相同值

 

a = b = c = 3

 

8.验证变量的数据类型

type(数据)

9.转换成10进制

 

int('12', 16)  # 16进制转换成10进制,结果为18

 

10.字符串转换成字节类型

bytes('test', encoding='utf-8')

 

 

 

四、一行显示多条语句

print("同一行显示多条语句");print("同一行显示多条语句2")

 

五、判断语句

1.if-elif-else

if a<0:
    pass
elif a>=0 && a<=10:  # python也可以简写成 0 <= a <= 10
    pass
else:
    pass

2.单行if

c = a if a>b else b   # 三目运算符,也叫三元运算符或三元表达式

c= [b, a][a > b]    # 二维列表,利用大小判断的0,1当作索引

# 利用逻辑运算符进行操作
c = (a>b and [a] or [b])[0]
c = (a>b and a or b)

# 利用and 的特点,若and前位置为假则直接判断为假。
# 利用 or的特点,若or前位置为真则判断为真。
print(111 and 222)  # 222
print(0 and 333)  #0

 3.for...else

for 临时变量 in 序列:
    重复执行的代码
else:
    循环正常结束之后要执行的代码,
    如果是break终止循环则else下方缩进的代码将不执行
    continue控制下是可以正常结束的
    while...else同理

  

六、函数

1.不定长参数(可变参数)

def fun(a, b, *args):
    print(args)    # 参数为元组

def fun(a, b, *args, **kwargs):
    print(kwargs)    # 参数为字典形式

def fun(a, b, *args, **kwargs):
    print(args)
    print(kwargs)

tup = (11,22,33)
dic = {"name":"hello", "age":20}
fun(1, 2, *tup, **dic)
结果为:
(11, 22, 33)
{'name': 'hello', 'age': 20}
2.多个返回值
def test():
    a=2
    b=3
    return a,b    # 要想获得多个返回值,可以用列表或元组封装

3.函数说明文档

help(函数名)

4.修改全局变量

def fun():
    global a    # 声明全局变量
    a = 123    # 修改全局变量的值

5.lambda表达式(匿名函数)

fn1 = lambda : 100  # 无参的lambda
fn2 = lambda a, b, c=100: a + b + c  # 默认参数
fn3 = lambda *args: args  # 不定长位置参数,传入到lambda之后,返回值为元组
fn4 = lambda **kwargs: kwargs  # 不定长关键字参数,传入到lambda之后,返回值为字典
fn5 = lambda a, b: a if a>b else b  # 带判断的lambda,返回值可使用三元运算符

# 列表内字典数据排序
Students =[
    {'name':'Tom','age':20},
{'name':'Rose','age':19},
{'name':'Jack','age':22},
]
# 按name值升序排序
Students.sort(key=lambda x:x['name'])
print(Students)
# 按age值降序排序
Students.sort(key=lambda x: x['age'],reverse=True)
print(Students)

 6.函数注释

可以使用冒号与箭头来指定参数与返回值的类型

def get_birthday (
   id: int, # 指定参数类型
   name:'姓名',  # 参数说明
  age:(16,60),  # 取值范围 
  year:'default value is 18'=2022,  # 可同时指定默认参数
  aha: dict(type=str, help='啊哈')  # 多项注释可以用自定义字典
)->int:  # 函数返回值类型
return year-age

 

七、推导式

推导式的作用:简化代码

list1 = [i for i in range(10)]  # 列表推导式
list2 = [i for i in range(10) if i%2==0]  # 带if列表推导式
list3 = [(i,j) for i in range(3) for j in range(4)] # 多个for循环实现列表推导式
list4 = [fun(i) for i in range(10)]  # 还可以是函数
[print(i) for i in range(10)]
dict1 = {i:i**2 for i in range(10)}  # 字典推导式

dict2 = {list1[i]: list2[i] for i in range(len(list2))}  # 合并两个列表为字典
dict3 = {key: value for key, value in dict1.items() if value>=25}  # 提取字典中目标数据

set1 = {i ** 2 for i in list1}  # 集合推导式
# 注意:集合有去重功能

 

八、类和对象

1.构造方法

__init__(self[, ...])  # 在类实例化时调用的方法

2.__new__方法

__new__(cls[, ...])  # __init__方法之前被调用,在继承不可变类但需要修改时用

3.析构方法

__del__(self)

4.Mixins机制

ChildClass(Base1, Base2, Base3):  # 一个子类可以同时继承多个父类
        ......

九、链式操作

如:

a<b<c 等价于 a<b and b<c

True is False is False 等价于 (True is False) and (False is False),结果为False

 

十、内置函数

1. eval()函数

eval() 函数用来执行一个字符串表达式,并返回表达式的值。

eval('5/2')  # 返回float 2.5
eval('5//2')  # 返回int 2

 2.enumerate() 函数

用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标

list = [1,3,5]
for i in enumerate(list):
    print(i)

输出结果:

(0, 1)
(1, 3)
(2, 5)

 3.map()函数

map(func,list)将传入的函数变量func作用到list变量的每个元素中,并将结果组成迭代器返回

print(list(map(lambda x:x**2,[1,2,3,4,5])))  # 计算序列中各个数字的平方

4.filter()函数

filter(func,list)函数用于过滤序列,过滤掉不符合条件的元素,返回一个filter对象。如果要转换为列表可以使用list()来转换。  

print(list(filter(lambda x:x%2==0,[1,2,3,4,5])))  # 获取序列中的偶数

5.sorted()函数

sorted([3, 1, 2])  # 顺序排序
sorted([3, 1, 2], reverse=True)  #倒序排序

list =[{'name':'zhangsan', 'age'=18}, {'name':'lisi', 'age'=16}]
sorted(list, key=lambda x: x['age'], reverse=False)

 6.slice()函数

slice() 函数返回一个切片对象,主要用在切片操作函数里的参数传递。

slice(stop)
slice(start, stop[, step])
list = [1,2,3,4,5,6,7,8]
s = slice(None, None, 2)
print(list[s])
结果:[1,3,5,7]

 

 7.help()函数

查看函数的说明文档

6.其他内置函数详看 菜鸟教程(即函数第一行的多行注释)

https://www.runoob.com/python/python-built-in-functions.html