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)
  • 命名关键字参数:强制调用者使用参数名字,参数列表中用*之后或者可变参数后边的参数代表命名关键字参数
  • 参数组合顺序必须是: 必选参数、默认参数、可变参数、命名关键字参数和关键字参数。
posted @ 2022-07-04 15:06  hellozhangjz  阅读(31)  评论(0)    收藏  举报