Python基础

Posted wanao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础相关的知识,希望对你有一定的参考价值。

数据结构和变量

  • 整数:包括正整数、负整数、二进制整数、十六进制整数等
  • 浮点数:即小数,可使用数学写法,也可使用科学计数法
  • 字符串:以单引号‘ 或 双引号 ”括起来的任意文本
  • 布尔值:只有TrueFalse两种值,布尔值可以使用and、or、not运算
  • 空值:用None表示,None是一个特殊的值,不能理解为0,因为0有意义
  • 变量:Python为动态语言,可使用赋值语句=将任意数据类型赋值给变量
  • 常量:不变的量,Python中通常使用全部大写的变量名表示常量

 

字符编码

Unicode编码:将所有的语言统一到一套编码中,解决乱码问题。Unicode常用两个字节表示一个字符(偏僻的字符需要4个字节)。Python3中字符串使用Unicode,直接支持多语言。

 

UTF-8编码:可变长编码,将一个Unicode字符根据不同的数字大小编码成1-6个字节,常用的英文字母被编码成1个字节,汉字通常是3个字节,生僻的字符为4-6个字节。

 

在计算机内存中统一使用Unicode编码,在需要保存到硬盘或需要传输的时候转换为UTF-8编码;在浏览网页的时候服务器会把动态生成的Unicode内容转换为UTF-8再传输到浏览器。

传输数据时,要把str转换为bytes,可以通过encode()方法:

 

>>> ABC.encode(ascii)
bABC
>>> 你好.encode(utf-8)
bxe4xbdxa0xe5xa5xbd

 

从网络或磁盘读取字节流,要把bytes转换为str,可以通过decode()方法:

>>> bABC.decode(ascii)
ABC
>>> bxe4xbdxa0xe5xa5xbd.decode(utf-8)
你好

中文必须使用UTF-8编码,因此若源代码中包含中文,需按照UTF-8读取源代码,否则可能输出乱码。

 

 

格式化

在Python中,% 用来实现格式化,%运算符用来格式化字符串。在字符串内部,%s表示用字符串替换,%d表示用整数替换,%f表示用浮点数替换,%x表示用十六进制整数替换。

小窍门:如果不确定应该用什么,使用%s永远起作用,它会将任何数据类型转换为字符串。

 

list和tuple

list:一种有序集合,可以随时添加或删除其中的元素。

创建列表

 

>>> test = [A,B,C]
>>> test
[A, B, C]

 

访问列表元素:使用索引

>>> test[0]
A
>>> test[1]
B
>>> test[2]
C
>>> test[-1]
C
>>> test[-2]
B
>>> test[-3]
A‘

追加元素 append()

>>> test.append(D)
>>> test
[A, B, C, D]

插入元素 insert()

 

>>> test.insert(1,E)
>>> test
[A, E, B, C, D]

删除元素 pop()

>>> test.pop()  # 删除末尾元素
D
>>> test
[A, E, B, C]
>>> test.pop(1)  # 删除指定索引元素
E
>>> test
[A, B, C]

替换元素:直接赋值

>>> test[1] = 1
>>> test
[A, 1, C]

注意:list内元素的数据类型可以不同

 

tuple:一种有序列表,一旦初始化就不能修改

>>> tuple_test = (A,B,C)
>>> tuple_test
(A, B, C)

tuple没有append()、insert()方法,也不能赋值为另外的元素;由于tuple不可变(指向不变,若list为tuple中元素,list可变,但tuple指向list不变),因此代码更加安全。

注意:创建单元素tuple时,为避免冲突,要使用逗号,

>>> tuple_test = (1,)

 

条件判断

if <条件判断1>:
    <执行1>
elif <条件判断2>:
    <执行2>
elif <条件判断3>:
    <执行3>
else:
    <执行4>

 

循环

  • for...in...循环,依次将list或tuple中的每个元素迭代出来
  • while循环,只要条件满足,就不断循环,当条件不满足时退出循环
  • break:在循环中,break语句可以提前退出循环
  • continue:在循环中,continue可以跳过当前这次循环,直接开始下一次循环

注意:break与continue会造成代码执行逻辑分叉过多,容易出错,少用为宜。

 

dict

Python内置字典,使用键-值(key-value)存储,具有极快的查找速度

>>> dict_test = {apple:20,banana:10}
>>> dict_test[apple]
20

与list比,dict有以下几个特点:

  • 查找和插入的速度极快,不会随着key的增加而变慢
  • 需要占用大量的内存,内存浪费多

list:

  • 查找和插入的时间随着元素的增加而增加
  • 占用空间少,内存浪费少

注意:dict的key必须为不可变对象

 

set

set也是一组key的集合,但不存储value,且key不能重复。set可以看作数学意义上无序和无重复元素的集合,两个set可以做数学意义上的交集和并集等操作。要创建一个set需要一个list作为输入集合

>>> set_test = set([1,1,2,3,4,5,6])
>>> set_test
{1, 2, 3, 4, 5, 6}

添加元素:add(key)

>>> set_test.add(7)
>>> set_test
{1, 2, 3, 4, 5, 6, 7}

删除元素:remove(key)

>>> set_test.remove(7)
>>> set_test
{1, 2, 3, 4, 5, 6}

 

以上是关于Python基础的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

python 有用的Python代码片段

Python 向 Postman 请求代码片段

python [代码片段]一些有趣的代码#sort

使用 Python 代码片段编写 LaTeX 文档

python 机器学习有用的代码片段