python-基础

start

#注释

:缩进来组织代码块

大小写敏感

数据类型和变量

能够直接处理的数据类型

  1. 整数
  2. 浮点数
  3. 字符串
  4. 布尔值
  5. 空值

变量

  1. 变量名
    变量名必须是大小写英文、数字和_的组合,且不能用数字开头
  2. 变量在计算机内存中的表示
    a = 'ABC'
    在内存中创建了一个'ABC'的字符串;
    在内存中创建了一个名为a的变量,并把它指向'ABC'。
    也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据

字符串和编码

编码

以Unicode表示的str通过encode()方法可以编码为指定的bytes
反过来,如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法

格式化

  1. %
    占位符 替换内容
    %d 整数
    %f 浮点数
    %s 字符串
    %x 十六进制整数
    如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串
    有些时候,字符串里面的%是一个普通字符怎么办?这个时候就需要转义,用%%来表示一个%
>>> 'Hi, %s, you have $%d.' % ('Michael', 1000000)
'Hi, Michael, you have $1000000.'
  1. format()
>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'

list and tuple

列表list

classmates = ['Michael', 'Bob', 'Tracy']
list是一种有序的集合
用len()函数可以获得list元素的个数
要确保索引不要越界,记得最后一个元素的索引是len(classmates) - 1。
如果要取最后一个元素,除了计算索引位置外,还可以用-1做索引,直接获取最后一个元素
append
insert
pop
s[1][2]

元组tuple

tuple一旦初始化就不能修改
classmates = ('Michael', 'Bob', 'Tracy')
没有append(),insert()这样的方法。其他获取元素的方法和list是一样的,你可以正常地使用classmates[0],classmates[-1],但不能赋值成另外的元素
tuple的陷阱:有1个元素的tuple定义时必须加一个逗号,,来消除歧义

条件判断

循环

for x in ...
while
break结束整个循环
continue跳过当次循环,开始下次循环

dict和set

字典dict

使用键-值(key-value)存储,具有极快的查找速度
d['Adam'] = 67
要避免key不存在的错误,有两种办法,一是通过in判断key是否存在:

>>> 'Thomas' in d
False

二是通过dict提供的get()方法,如果key不存在,可以返回None,或者自己指定的value:

>>> d.get('Thomas')
>>> d.get('Thomas', -1)
-1

要删除一个key,用pop(key)方法,对应的value也会从dict中删除
dict的key必须是不可变对象。

集合set

set和dict类似,也是一组key的集合,但不存储value。由于key不能重复,所以,在set中,没有重复的key。
要创建一个set,需要提供一个list作为输入集合:

>>> s = set([1, 2, 3])
>>> s
{1, 2, 3}

重复元素在set中自动被过滤
通过add(key)方法可以添加元素到set中,可以重复添加,但不会有效果
通过remove(key)方法可以删除元素
set可以看成数学意义上的无序和无重复元素的集合,因此,两个set可以做数学意义上的交集、并集等操作
set和dict的唯一区别仅在于没有存储对应的value,但是,set的原理和dict一样,所以,同样不可以放入可变对象,因为无法判断两个可变对象是否相等,也就无法保证set内部“不会有重复元素”。

再议不可变对象

原文地址:https://www.cnblogs.com/Rain99-/p/12875321.html