一、python的数据类型

  1. 整型
  • Python的整数没有大小限制,
  1. 浮点数
  2. 字符串
  3. 布尔值(True、False)
  4. 空值None

二、变量

  1. 命名方式
  • 变量名必须是大小写英文、数字和_的组合,且不能用数字开头
  • 不需要像java那样规定变量类型
  1. //java定义变量
  2. int a=1;
  3. //python 定义变量
  4. a = 1;

三、常量

  1. Python中通常用全部大写的变量名表示常量

四、字符串

  1. 字符串编码
  • 在计算机内存中,统一使用Unicode编码
  • 需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
  1. 单个字符串和编码的转换
  • ord()函数获取字符的整数表示
  • chr()函数把编码转换为对应的字符
  1. 字符串str与字节byte的转换
  • python中的字节表示以b为前缀
  1. b'abc'
  • str转为byte,使用编码encode()函数
  1. //可以指定转换时的编码utf-8,或 ascii
  2. 'ABC'.encode('ascii')
  • bytes转换为str使用函数decode()
  1. b'ABC'.decode('ascii')
  • 如果bytes中包含无法解码的字节,decode()方法会报错:
  1. b'\xe4\xb8\xad\xff'.decode('utf-8')
  2. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 3: invalid start byte
  • 如果bytes中只有一小部分无效的字节,可以传入errors=’ignore’忽略错误的字节:
  1. >>> b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')
  2. '中'
  1. 计算字符串长度的函数len()
  1. >>> len('ABC')
  2. 3
  3. >>> len('中文'.encode('utf-8'))
  4. 6
  5. //1个中文字符经过UTF-8编码后通常会占用3个字节,而1个英文字符只占用1个字节
  1. 字符串格式化
  • 格式化常见的占位符有: | 占位符 | 替换内容 | | —- | —- | | %d | 整数 | | %f | 浮点数 | | %s | 字符串 | | %x | 十六进制整数 |
  • 格式化中转义字符%使用两个%
  1. >>> 'growth rate: %d %%' % 7
  2. 'growth rate: 7 %'
  • 使用format()函数格式化
  1. >>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
  2. 'Hello, 小明, 成绩提升了 17.1%'
  3. //使用字符串的format()方法,
  4. //它会用传入的参数依次替换字符串内的占位符{0}、{1}..

五、列表list

  1. list :Python内置的一种数据类型是列表:list。list是一种有序的集合
  1. #定义一个list变量
  2. PrograminganguageLs=['java','python','c语言']
  1. 操作列表list
  1. #注意:list索引是从0开始
  2. #使用len()函数,获取list中的个数
  3. print(len(PrograminganguageLs))
  4. #获取list中的单个值
  5. print(PrograminganguageLs[0])
  6. #使用函数append()添加值到列表末尾
  7. PrograminganguageLs.append('javascript')
  8. #元素插入到指定的位置,使用函数insert()
  9. PrograminganguageLs.insert(2,'c++')
  10. #要删除list末尾的元素,用pop()方法;会返回删除的元素
  11. a=PrograminganguageLs.pop()
  12. #要删除指定位置的元素,用pop(i)方法,其中i是索引位置:
  13. a1=PrograminganguageLs.pop(2)
  14. #要把某个元素替换成别的元素
  15. PrograminganguageLs[1]='Hello'
  1. 列表中的元素类型可以不同
  1. #可以是任意类型
  2. L = ['Apple', 123, True]
  3. L2 = ['Apple', 123, True,[1,2,3]]

六、元组tuple

  1. 元组tuple: 一旦初始化就不能修改
  1. #定义元组
  2. classmates = ('Michael', 'Bob', 'Tracy')
  3. #元组的操作与list一样

七、条件判断

  1. 形式
  1. if <条件判断1>:
  2. <执行1>
  3. elif <条件判断2>:
  4. <执行2>
  5. elif <条件判断3>:
  6. <执行3>
  7. else:
  8. <执行4>
  1. 判断条件简写
  1. if x:
  2. print('True')
  3. #只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

八、循环

  1. 循环打印列表
  1. # for
  2. names = ['Michael', 'Bob', 'Tracy']
  3. for name in names:
  4. print(name)
  5. # while循环
  6. while len(names) > 0:
  7. print(names.pop());
  1. 跳出循环
  • break: 在循环中,break语句可以提前退出循环
  • continue: 跳过当前的这次循环,直接开始下一次循环。

九、字典Dict

  1. 定义:dict全称dictionary,在其他语言中也称为map,使用键-值(key-value)存储,具有极快的查找速度。
  1. #定义一个字典
  2. personInfo={'name':'李四','age':20,"height":172}
  1. 字典操作
  1. # 获取字典中的某个key对应的值
  2. #1. 直接使用key获取
  3. print(personInfo['name'])
  4. #2. 使用内置函数get()
  5. print(personInfo.get('name'))
  6. #3. 使用内置函数get(), 如果key不存在,可以返回None,或者自己指定的value:
  7. print(personInfo.get('12',12))
  8. # 更换某个key对应的值
  9. personInfo['age'] = 25
  10. # 添加新的key-value;
  11. personInfo['weight'] = 55
  12. print(personInfo)
  13. #删除字典中的key
  14. personInfo.pop('name')
  1. dict的特点:
  • 查找和插入的速度极快,不会随着key的增加而变慢;
  • 需要占用大量的内存,内存浪费多。

十、set集合(不存重复的元素)

  1. 创建set
  1. num = set([1, 2, 3, 4])
  1. 操作set
  1. #添加元素
  2. num.add(9)
  3. #通过remove(key)方法可以删除元素:
  4. num.remove(2)