Skip to content

基础语法

约 1814 个字 16 行代码 预计阅读时间 6 分钟

多行语句

python通常是一行写一条语句,但是很长的语句我们可以使用反斜杠来写\

但是在有[]``{}``()的多行语句中,我们不需要选择反斜杠

数字类型

一共四种,int,bool,float,complex

字符串

和C中不同的是,py中的''""完全相同,都表示字符串

Text Only
1
在C中''表示字符常量,""表示的是字符串(也就是字符常量组成的一个数组)

三斜杠可以'''或者"""表示多行字符串

反斜杠可以用来转义,使用 r 可以让反斜杠不发生转义。 如 r"this is a line with \n" 则 \n 会显示,并不是换行

按照字面意义级联字符串

字符串可以使用+连接在一起,用*重复

字符串不能改变,没有单独的字符类型,一个字符就是长度为1的字符串

字符串有切片str[start,end],start就是切片开始的地方,end是不包含结束的索引

索引有两种

  1. 0开头从左往右
  2. -1开头从右往左

还可以加上步长step,str[start,end,step]

空行和代码缩进不同,空行不是python语法的一部分

同一行显示多条语句

语句之间使用;分割

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们叫做代码组

想if,while,else,class这些复合语句,首行以关键字开始,以冒号结束,该行之后的一行或者多行代码构成代码组

我们将首行和后面的代码组称为一个子句

Text Only
1
顺便注意一下if elif之后不需要{},但是需要:

输出print函数

print函数默认输出是换行的,如果不需要换行可以在末尾加上,end=''确定末尾是什么

当然如果我们指定\n那么此时也是换行的

import导入模块

在python中使用import导入相应的模块

整个模块导入可以直接import somemodule

导入某个函数可以from module import somefunction

导入多个函数可以在函数名之间写上,分开

将某个模块的全部函数导入,可以from somemodule import *

命令行参数

很多程序可以执行一些操作来查看基本信息

比如直接输入python -h(在cmd里面)

此时显示的是我们在使用脚本形式执行python的时候,可以接受命令行输入的参数

基本数据类型

python的变量不需要申明,但是在使用前必须要赋值,赋值之后该变量才会被创建

在python中,变量就是变量,它没有类型,我们所说的类型是变量所指的内存中对象的类型

Python允许同时为多个变量赋值。例如:a = b = c = 1

标准数据类型

  • 数字
  • 字符串
  • 布尔类型
  • 列表
  • 元祖
  • 几何
  • 字典

内置的type()韩式可以查询变量所指向的对象类型

此外还可以使用isinstance()判断

Python
a = 111
isinstance(a,int)
输出
Text Only
True

列表

列表式python中使用最频繁的数据类型

列表可以完成大多数集合类型的数据结构实现,列表中的元素类型可以不相同

支持数字,字符串,甚至包括列表

列表式卸载方括号之间,用逗号分隔开的元素列表

和字符串一样,列表可以被索引和截取

Python
print (tinylist * 2)    # 打印tinylist列表两次  
print (list + tinylist)  # 打印两个列表拼接在一起的结果

元组

元组和列表相似,你不同支持在于元组的元组不能修改,元祖写在小括号里,元祖之间用逗号隔开

Text Only
1
字符串可以看做是一种特殊的元组

元祖中的元组类型也可以不相同

虽然tuple的元素不可改变,但它可以包含可变的对象,比如list列表

字典

字典是无序的对象集合,区别在于,字典当中的元素是通过键值来存取的,而不是通过偏移存取

字典是一种映射类型,采用{}标识,是一个无序的key:value的集合

key必须使用不可变类型

Python
>>> {x: x**2 for x in (2, 4, 6)}  
{2: 4, 4: 16, 6: 36}

这个是字典推导式

Python 推导式 | 菜鸟教程

byte类型

bytes类型表示的是不可变的二进制序列

创建 bytes 对象的方式有多种,最常见的方式是使用 b 前缀

也可以使用 bytes() 函数将其他类型的对象转换为 bytes 类型

bytes() 函数的第一个参数是要转换的对象,第二个参数是编码方式,如果省略第二个参数,则默认使用 UTF-8 编码

Python
x = bytes("hello", encoding="utf-8")

数字类型转换

  • int(x) 将x转换为一个整数。

  • float(x) 将x转换到一个浮点数。

  • complex(x) 将x转换到一个复数,实数部分为 x,虚数部分为 0。

  • complex(x, y) 将 x 和 y 转换到一个复数,实数部分为 x,虚数部分为 y。x 和 y 是数字表达式。

运算

// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系 在交互模式中,最后被输出的表达式结果被赋值给变量 _ 。例如:

Python
1
2
3
4
5
6
7
8
>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

此处,_ 变量应被用户视为只读变量

随机数

函数 描述
choice(seq) 从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
randrange ([start,] stop [,step]) 从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
random() 随机生成下一个实数,它在[0,1)范围内。
seed([x]) 改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
shuffle(lst) 将序列的所有元素随机排序
uniform(x, y) 随机生成下一个实数,它在[x,y]范围内。

字符串

Python 不支持单字符类型,单字符在 Python 中也是作为一个字符串使用

r/R 原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。
not in 成员运算符 - 如果字符串中不包含给定的字符返回 True

python字符串格式化符号:

符   号 描述
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址

Comments