Python快速入门(一)

python这门语言属实很强大,之前早就学过,但是心里没有什么底,一提到Python,能够想到的不多,所以写几篇博客,总结总结。熟悉熟悉。

数据类型和变量

一、数据类型

  • 整数
    • 16进制用0x前缀。
    • 存储长度是有大小限制的。
  • 浮点数
    • 比较大的浮点数需要用科学记数法表示,例如:把10用e替代, 1.23×109 1.23 × 10 9 就是1.23e9
    • 超出一定范围就是直接表示inf无限大。
  • 字符串
  • 布尔值
  • 空值
    • 是Python中一个特殊的值,用None表示。None不能理解为0,他是一个空值。

对象

变量本身类型不固定的语言称之为动态语言,而静态语言在定义变量时必须指定变量类型。如果赋值的时候类型不匹配,就会报错。

Python属于一门动态语言,而Java、C++都属于静态语言,所以Python比较灵活。

任何数据都可以看作是一个对象,而对象就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量关联起来。

对变量赋值x = y ,是把变量x指向真正的对象,该对象是变量y所指向的。随后对变量y的赋值不影响对量x的指向。

常量

在Python中,通常用全部大写的变量名表示常量。

PS:整数的除法,有两种:

  • /两个整数除完的结果为浮点数。
  • //地板除,两个整数除完的结果为整数。

二、字符串和编码

2.1-编码

  • ASCII

    • 编码有127个字符,保存一些英文字母、数字、符号。
    • 单字节
  • Unicode

    • 现代操作系统和大多数编程语言都是直接支持Unicode。
    • 双字节
  • UTF-8
    • 可变长编码,可根据类型编码长度不同。
    • 一个中文通常占三个字节。一个英文只占1个字节。

2.2-字符串

在Python3的版本中,字符串是以Unicode编码的,所以说,Python的字符串支持多语言。

单字符的编码,Python提供了以下操作:

  • ord()函数获取字符的整数表示。
  • chr()函数把编码转为对应的字符。
2.2.1-"Abc"b"ABC"的区别

显示的内容都是一样的。

但是:

  • 前者是str,一个字符对应若干个字节。
  • 后者bytes的每个字符都只占用一个字节。
2.2.2-编码和解码
  • encode()方法可以将str转换为相应的bytes。
  • decode()方法将bytes编码为str。
    • 可以传入errors='ignore'忽略错误的字节。
2.2.3-计算长度

len()计算字符串含有多少个字符。

如果将字符串转换为bytes,那么计算的就是字节数。

2.2.4-文件设置编码

通常我们会在.py开头加上两行注释

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
  • 第一行注释是告诉linux/OS X系统,这是一个Python可执行程序。
  • 第二行注释告诉编译器按照UTF-8编码读取源代码。
    • 当然,你还需要设置你的py文件编码为UTF-8
2.2.5-格式化

在Python中,用两种方式:

  • 采用的格式化方式和c语言是一致的,用%实现。

    • 格式例子:"hello %s %4d %04d %-4d" % ("world",2,2,2)
    • 中间用%相隔,而不是,,后边的值需要用括号括起来。
    • Ps: %%来转义,可以输出%
  • format()也是一种格式化的方法。

    • 格式:'Hello, {0}, 成绩提升了 {1:.1f},{2},{3}'.format(arg1,arg2,arg3)
    • 前边的0,1,2作为占位符,替换后边的参数。

三、list、tuple、dict、set

list

  • 有序集合
  • 和其他语言不一样的是,元素数据类型可以不一样
定义

a = []

元素个数

len(list)返回元素个数

获取

和数组类似,用下标进行访问每一个元素。从下标0开始。

-1做索引可以直接获取最后一个元素。

添加
  • appene()添加至末尾
  • insert(index,obj)添加到指定位置(index)
删除
  • pop()删除末尾的元素。
  • pop(index)删除指定位置的元素。

tuple

  • 有序列表
  • 一旦初始化不能修改。在一些场景下,其实tuple很有用。
  • 元素类型可以不一致。

可以像使用list那样获取元素。但是不能修改、添加、删除。

一定要理解这个的不变。如果元素是一个对象,不变的是他的引用,而不是他的值。它的值你是可以修改的。

定义

a = ()

  • 括号里面不写元素的话,a为空tuple
  • 有一个的时候,需要加上逗号。
  • 有多个的时候,以逗号分隔。

dict

  • 字典dictionary
  • 类似于其他语言的map,使用键值对进行存储。
  • key的类型可以是字符串、数字、元组。
通过in判断key是否存在
  • key in d return boolean;
  • get(key,args)
    • 若存在返回value
    • 否则返回args。
删除key

pop(key),对应的value也会从dict中删除。

dict内部存放的顺序和key放入的顺序是没有关系的。

清空字典

clear()

删除字典

del dict

输出字典

str(dict)

与list相比:
list dict
查找和插入的速度极快,不会随着key的增加而变慢。 查找和插入的时间随着元素的增加而增加。
需要占用大量的内存,内存浪费多。 占用空间小,浪费内存很少。

所以,dict是用空间换时间。

key不可变性

dict中的key必须为不可变对象

因为dict在高速查找的时候,用哈希算法通过key计算位置。


set

  • 和其他语言相似,不能够重复
  • 没有顺序
创建
  • a = {value1,value2,value3}

  • a = set(value)

添加
  • add()
  • update()
删除
  • remove(x)若元素不存在,会报错。
  • discard(x)若元素不存在,不会发生错误。
  • pop(x)随即删除一个元素。
元素个数

len(s)

清空集合

clear()

你可能感兴趣的:(python)