• python基础笔记((1)


    • 逻辑与或非用的是and or not

    • 除法即使整除结果也是浮点数

    • 地板除//结果一定是整数。

    • 内存中的字符串是Unicode编码,str.encode('utf-8 or ascii')class strclass bytes。反之用bytes.decode('utf-8 or ascii')class bytes转换成class str。转换为bytes后可以在存储在硬盘。decode('utf-8', errors='ignore')可以忽略错误的byte。

    • len()可以计算str的字符数或者bytes的字节数。

    • #!/usr/bin/env python3告诉解释器python的位置

    • #-*- coding: utf-8 -*-告诉解释器以utf-8读取.py文件。

    • 输出格式化:'%s, %d' % ('str', 10)

    • f字符串:

      r = 2.5
      s = 1.23
      print(f'xxx {r}, sad{s:.1f}')
      #输出:xxx 2.5, sad1.2
      
    • input('')返回一个str

    • python的变量本质上是引用,而且引用类型可变。

    list

    有序列表,元素可以不是同一类型,用[]定义一个list。

    方法:

    • append
    • insert(index, element)
    • pop() 或者 pop(index)

    tuple

    初始化后无法修改,用()定义。如果tuple只有一个元素,为了避免歧义,需要在第一个元素后加上,t = (1,)。如果tuple元素是一个列表,那么本质上不变的是列表地址(指针),列表本身的元素是可以变的。

    tuple可以赋值给多个变量:a,b = (1,2)

    循环

    for x in 可迭代对象:
    	f(x)
    
    while condition:
        xxx
    
    from collections.abc import Iterable
    isinstance('abc', Iterable) # str是否可迭代
    

    dict(map)

    • 初始化:d = {'key':value, }。或者赋值:d['key2'] = value2

    • key in dict判断key是否存在。

    • dict.get('key', -1)如果key不存在返回-1,缺省是None。

    • dict.pop('key')删除

    • keys可以是不同的类型,但必须是不可变对象,不可以是list。

      s = 'abc'
      dict = {s:1}
      #本质上是dict{'abc' : 1}。s再被赋值成其他值也不影响dict
      

    set

    • 使用list初始化:s = set([xxx])

    函数

    • 参数可以看作是引用传递。
    • 显示传入参数可以忽略函数定义时参数的顺序。
    • 默认参数必须指向不变对象
    • 可变参数def calc(*numbers):,函数内部numbers是一个tuple。可以将list或者tuple传入可变参数:calc(*list)
    • 关键字参数def person(name, age, **kw),kw在函数内部是一个dict,可以把一个dict对象传进去(拷贝):person('zjz', 10, **dict)
    • 命名关键字参数:强制调用者使用参数名字,参数列表中用*之后或者可变参数后边的参数代表命名关键字参数
    • 参数组合顺序必须是: 必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
  • 相关阅读:
    【BZOJ1294】围豆豆(SCOI2009)-状压+BFS
    【BZOJ3244】树的计数(NOI2013)-概率期望+数学证明
    【BZOJ4826】影魔(AHOI&HNOI2017)-线段树+离线
    【BZOJ3832】Rally(POI2014)-拓扑排序+最长路+堆
    【BZOJ4556】字符串(TJOI&HEOI2016)-后缀数组+二分+RMQ+主席树
    【BZOJ1029】建筑抢修(JSOI2007)-贪心+堆
    【BZOJ1057】棋盘制作(ZJOI2007)-DP+悬线法
    【BZOJ1025】游戏(SCOI2009)-数论+背包DP
    java日期操作
    list类型for遍历
  • 原文地址:https://www.cnblogs.com/hellozhangjz/p/16442995.html
Copyright © 2020-2023  润新知