程序就是用来处理数据的,而常量和变量就是最简单用来存储数据的
声明在文件的顶部
变量在使用前都必须要要进行赋值,只有被赋值后变量才会被创建
当变量名需要由二个或多个单词组成时,每个单词都使用小写字母单词与单词之间使用 _
下划线连接
当变量名是由二个或多个单词组成时,还可以利用驼峰命名法来命名
{{< admonition warning “注意” true >}}
变量与常量都属于标识符,需要满足标识符的命名方式。标识符区分大小写。
{{< /admonition >}}
{{< admonition tip “提示” true >}}
以上命名规范都不是强制的,命名规范可以更好的满足PEP 8和PEP 20并增加代码的识别和可读性
{{< /admonition >}}
在 Python
中定义变量是 不需要指定类型(在其他很多高级语言中都需要)
数据类型可以分为数字型和非数字型
int
)float
)bool
)
True
非 0 数
—— 非零即真False
0
complex
)
bool
型True为1,False为0+
拼接字符串*
重复拼接相同的字符串变量也可以通过键盘输入的信息获取,这时可以使用input
函数从键盘等待用户的输入
{{< admonition tip “提示” true >}}
input
函数跟之前使用过的print
函数一样都是Python3
内置的函数,可以理解为提前准备好的功能,可以直接使用。
{{< /admonition >}}
语法如下:
字符串变量 = input("提示信息:")
{{< admonition warning “注意” true >}}
用户输入的任何内容Python 都认为是一个字符串
{{< /admonition >}}
函数 | 说明 |
---|---|
int(x) | 将x转换为整数 |
float(x) | 将x转换为浮点数 |
str(x) | 将x转换为字符串 |
想要输出固定字符串的同时一起输出变量的值,可以使用格式化操作符%
,%
和不同的字符连用可以输出不同类型的数据。
格式化字符 | 含义 |
---|---|
%s | 字符串 |
%d | 有符号十进制整数,%06d 表示输出的整数显示位数,不足的地方使用 0 补全 |
%f | 浮点数,%.2f 表示小数点后只显示两位 |
%% | 输出 % |
{{< admonition tip “提示” true >}}
包含格式化操作符的字符串称为格式化字符串
{{< /admonition >}}
所有非数字型变量都支持以下特点:
[]
取值for in
遍历+
和 重复 *
字符串就是一串文本字符的数据类型,在 Python 中可以使用一对双引号"
或者一对单引号'
定义一个字符串。
{{< admonition tip “提示” true >}}
当用双引号"
做字符串时内部可以用单引号'
定义字符串;当用单引号'
做字符串时内部可以用双引号"
定义字符串。
{{< /admonition >}}
方法 | 说明 |
---|---|
isspace() | 如果 string 中只包含空格,则返回 True |
isalnum() | 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True |
isalpha() | 如果 string 至少有一个字符并且所有字符都是字母则返回 True |
isdecimal() | 如果 string 只包含十进制数字则返回 True 否则返回 False |
isdigit() | 如果 string 只包含数字则返回 True 否则返回 False |
isnumeric() | 如果 string 中只包含数字字符,则返回 True,否则返回 False |
istitle() | 如果 string 是标题化的(每个单词的首字母大写)则返回 True |
islower() | 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True |
isupper() | 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True |
方法 | 说明 |
---|---|
startswith(str) | 检查字符串是否是以 str 开头,是则返回 True |
endswith(str) | 检查字符串是否是以 str 结束,是则返回 True |
find(str, start=0, end=len(string)) | 检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1 |
rfind(str, start=0, end=len(string)) | 类似于 find(),不过是从右边开始查找 |
index(str, start=0, end=len(string)) | 跟 find() 方法类似,不过如果 str 不在 string 会报错 |
rindex(str, start=0, end=len(string)) | 类似于 index(),不过是从右边开始 |
replace(old_str, new_str, num=string.count(old)) | 把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次 |
方法 | 说明 |
---|---|
capitalize() | 把字符串的第一个字符大写 |
title() | 把字符串的每个单词首字母大写 |
lower() | 转换 string 中所有大写字符为小写 |
upper() | 转换 string 中的小写字母为大写 |
swapcase() | 翻转 string 中的大小写 |
方法 | 说明 |
---|---|
ljust(width) | 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串 |
rjust(width) | 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串 |
center(width) | 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串 |
方法 | 说明 |
---|---|
lstrip() | 截掉 string 左边(开始)的空白字符 |
rstrip() | 截掉 string 右边(末尾)的空白字符 |
strip() | 截掉 string 左右两边的空白字符 |
方法 | 说明 |
---|---|
partition(str) | 把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面) |
rpartition(str) | 类似于 partition() 方法,不过是从右边开始查找 |
split(str=“”, num) | 以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 ‘\r’, ‘\t’, ‘\n’ 和空格 |
splitlines() | 按照行(‘\r’, ‘\n’, ‘\r\n’)分隔,返回一个包含各行作为元素的列表 |
join(seq) | 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串 |
list
(列表)是专门用于存储一串信息的对象集合,用[]
来定义,数据之间使用,
分隔。列表的索引从0开始。
{{< admonition tip “提示” true >}}
索引就是数据在列表中的位置编号,索引又可以被称为下标。从列表中取值时,如果超出索引范围,程序会报错。
{{< /admonition >}}
通过指定索引进行赋值操作
列表[索引] = 数据
{{< admonition tip “提示” true >}}
del
关键字可以删除任意变量,在对列表操作时指定索引就删除列表中指定索引的元素不指定索引则直接删除整个列表
{{< /admonition >}}
reverse=True
则为降序排列Tuple
元祖表示多个元素组成的对象集合。用()
来定义,数据之间使用,
分隔。元祖的索引从0开始。与列表类似,不同之处在于元素的元素不能修改。
元祖.count(值)
元祖.index(值)
dict
(字典)表示存储多个键值对的对象集合。用{}
来定义,键与值之间用:
分隔,键值对之间使用,
分隔。字典的索引为键,键必须是唯一的,且只能使用字符串、数字或元祖。
通过对新的键进行赋值
dict['new_key'] = 'value'
通过对存在的键进行修改
dict['key'] = 'value'
{{< admonition tip “提示” true >}}
字典是无序的对象集合,字符串、列表、元祖都是有序的对象集合。
字典和列表是可变对象集合,字符串、元祖为不可变对象集合。
{{< /admonition >}}
方法 | 说明 |
---|---|
clear() | 删除字典内所有元素 |
copy() | 返回一个字典的浅拷贝 |
fromkeys(key, value) | 创建一个新字典,以序列key中元素做字典的键,value为字典所有键对应的初始值 |
get(key, default=None) | 返回指定键的值,如果值不在字典中返回default值 |
has_key(key) | 如果键在字典dict里返回true,否则返回false |
items() | 以列表返回可遍历的(键, 值) 元组数组 |
keys() | 以列表返回一个字典所有的键 |
setdefault(key, default=None) | 和get()类似, 但如果键不存在于字典中,将会添加键并将值设为default |
update(dict2) | 把字典dict2的键/值对更新到dict里 |
values() | 以列表返回字典中的所有值 |
pop(key) | 删除字典给定键 key 所对应的值,返回值为被删除的值。key值必须给出。 否则,返回default值。 |
popitem() | 返回并删除字典中的最后一对键和值。 |
函数 | 描述 | 备注 |
---|---|---|
len(item) | 计算容器中元素个数 | |
del(item) | 删除变量 | del 有两种方式 |
max(item) | 返回容器中元素最大值 | 如果是字典,只针对 key 比较 |
min(item) | 返回容器中元素最小值 | 如果是字典,只针对 key 比较 |
使用索引值来限定一个范围。列表和元组都是有序的集合,都能够通过索引值获取到对应的数据。字典是一个无序的集合,是使用键值对保存数据。
运算符 | 描述 | 支持的数据类型 |
---|---|---|
+ | 合并 | 字符串、列表、元组 |
* | 重复 | 字符串、列表、元组 |
in | 元素是否存在 | 字符串、列表、元组、字典 |
not in | 元素是否不存在 | 字符串、列表、元组、字典 |
> >= == < <= | 元素比较 | 字符串、列表、元组 |
{{< admonition warning “注意” true >}}
in
在对字典操作时,判断的是字典的键。in
和not in
被称为成员运算符
{{< /admonition >}}
可以通过for进行遍历
for 变量 in 集合:
代码块
变量和数据都是保存在内存中的,在Python中函数的参数传递以及返回值都是靠引用传递的
在Python中变量和数据是分开存储的。数据保存在内存中的某个位置,变量则保存着数据在内存中的地址。变量中记录数据的地址就是引用,使用id()函数可以查看变量中保存数据所在的内存地址
{{< admonition warning “注意” true >}}
如果变量已经被定义,当给一个变量赋值的时候,本质上是修改了数据的引用,变量不再对之前的数据引用,变量 改为对新赋值的数据引用
{{< /admonition >}}
{{< admonition info “提示” false >}}
函数的实参/返回值都是是靠引用来传递来的
{{< /admonition >}}
{{< admonition warning “注意” true >}}
字典的key
只能使用不可变类型的数据。
可变类型的数据变化,是通过方法来实现的,如果给一个可变类型的变量,赋值了一个新的数据,引用会修改变量不再对之前的数据引用,改为对新赋值的数据引用
{{< /admonition >}}