乐趣区

关于python:Python-入门指北No-3-Python-语言元素

1. 前言

之前的文章中,咱们曾经对 Python 有所理解了,并且也学会了 Pycharm 的装置及应用。当初该开始正式进入主题了,接下来就要学习 Python 的相干语法,以及如何应用他们进行编程。

明天次要内容就介绍 Python 中的如下知识点:

  1. 变量
  2. 数据类型
  3. 运算符

2. 变量

2.1 什么是变量

所谓变量,其实一开始是源自于数学。而在计算机语言中,变量指的是 可能存储计算结果或者可能示意值的抽象概念

咱们能够通过变量名来拜访变量,在 Python 中,变量通常是可变的,它不仅仅可能示意数字,还能是任意数据类型。

2.2 变量命名规定

Python 中,是通过标识符来给变量命名,而标识符就是用于给程序中变量、类、办法命名的符号。简略来说,标识符就是非法的名字。而什么是非法的名字呢?那咱们就来看看 Python 中标识符的命名规定。

Python 中,标识符 必须以字母、下划线结尾,而后前面能够跟上任意数目的字母、数字以及下划线,而且也辨别大小写。总结起来就是如下几点:

  1. 变量名只能蕴含字母、数字和下划线,而且只能以字母或下划线结尾,不能以数字结尾,比方咱们能够把一个变量命名为 cunyu_1943、_cunyu1943 然而不能命名为 1943_cunyu
  2. 变量名两头不能蕴含空格,然而能够用下划线来进行宰割,比方能够命名为 student_name,但不能命名为 student name
  3. 变量名应该尽量简短切具备描述性,比方咱们变量名为 name,那他人一看就晓得这是示意名字的,但如果咱们命名为 n,那可能就得花更多的工夫来搞清楚它到底是啥意思;
  4. 不要把 Python 中的关键字和内置函数名用做变量名,Python 中常见的关键字和内置函数如下表;
关键字 形容
and 逻辑运算符
as 创立别名
assert 用于调试
break 跳出循环
class 定义类
continue 持续循环的下一个迭代
def 定义函数
del 删除对象
elif 在条件语句中应用,等同于 else if
else 用于条件语句
except 解决异样,产生异样时如何执行
False 布尔值,比拟运算的后果
finally 解决异样,无论是否存在异样,都将执行一段代码
for 创立 for 循环
from 导入模块的特定局部
global 申明全局变量
if 写一个条件语句
import 导入模块
in 查看列表、元组等汇合中是否存在某个值
is 测试两个变量是否相等
lambda 创立匿名函数
None 示意 null
nonlocal 申明非局部变量
not 逻辑运算符
or 逻辑运算符
pass null 语句,一条什么都不做的语句
raise 产生异样
return 退出函数并返回值
True 布尔值,比拟运算的后果
try 编写 try...except 语句
while 创立 while 循环
with 用于简化异样解决
yield 完结函数,返回生成器
内置函数
abs() delattr() hash() memoryview() set()
all() dict() help() min() setattr()
any() dir() hex() next() slice()
ascii() divmod() id() object() sorted()
bin() enumerate() input() oct() staticmethod()
bool() eval() int() open() str()
breakpoint() exec() isinstance() ord() sum()
bytearray() filter() issubclass() pow() super()
bytes() float() iter() print() tuple()
callable() format() len() property() type()
chr() frozenset() list() range() vars()
classmethod() getattr() locals() repr() zip()
compile() globals() map() reversed() __import__()
complex() hasattr() max() round()

3. 数据类型

要解决各种文本、图形、音频、视频等数据,光应用数值类型是远远不够的,咱们须要更多的数据类型来定义不同的数据。在 Python 中,次要有如下几种数据类型:

3.1 数字

数字数据类型用于存储数值,他们是 不可扭转 的数据类型。也就是说,每扭转一个数字数据类型,就会调配一个新的对象。

当咱们给变量指定一个值时,数字对象就会被创立,而如果咱们要删除这些对象的援用,就能够应用 del 语句;

# 创建对象
number = 1
# 删除援用
del number

Python 反对如下不同的数字类型;

  • int:整型(⚠️ Python 2.x 中有 intlong 之分,然而 Python 3.x 中只有 int),可能解决任意大小的整数,而且反对常见的二进制、八进制、十进制以及十六进制;
  • float:浮点类型,也就是数学中的小数。一个浮点数的小数点地位是可变的,它不仅能够示意成数学写法(456.78),还反对迷信记数法(4.5678e2);
  • complex:复数类型,由实部和虚部组成,形如 a + bj 的模式,和数学中的复数示意一样,只是把 i 变成了 j

3.2 字符串

以单引号或双引号括起来的任意文本,例如 “cunyu1943”‘cunyu1943’,而且还能够书写成多行的模式(用三个单引号或三个双引号结尾,三个单引号或三个双引号结尾)

'''
公众号:村雨遥
blog:cunyu1943.site
'''“”“公众号:村雨遥
blog:cunyu1943.site”“”

Python 中字符串有 2 种取值程序:

  1. 从左向右索引,索引值从 0 开始,最大索引值是字符串长度减 1
  2. 从右向左索引,索引值从 -1 开始,最大索引值是字符串结尾;

如果咱们要从字符串汇总获取一小段子字符串,则能够应用 [头下标: 尾下标] 来进行截取。留神 左闭右开 准则,即通过 [头下标: 尾下标] 形式获取的子字符串蕴含头下标的字符,但不蕴含尾下标的字符;

退出咱们的字符串 s = 'abcdef’,则通过不同形式索引的后果如下图:

3.3 列表

list 是一种 有序 的汇合,能随时向其中增加和删除元素,用 [] 标识,外部元素用逗号隔开,元素能够是字符、数字、字符串等数据类型,是 Python 中最罕用的复合数据类型。相似于字符串,也能够用 [头下标: 尾下标] 的形式来进行截取相应子列表,索引形式同字符串,示例如下:

list 中罕用办法如下:

办法 阐明
len(list) 列表元素个数
list(seq) 将元组转换为列表
list.pop() 删除 list 开端的元素
list.pop(index) 删除 list 中索引地位为 index 的元素
list.append(obj) 在列表开端增加新的对象
list.count(obj) 统计某个元素在列表中呈现的次数
list.insert(index, obj) 将对象插入列表指定地位
list.remove(obj) 移除列表中某个值的第一个匹配项
list.reverse() 反转列表中元素
list.index(obj) 从列表中找出某个值第一个匹配项的索引地位
list.sort(cmp=None, key=None, reverse=False) 对原列表进行排序,reverse = True 降序,reverse = False 升序(默认)

如果咱们要实现不同列表连贯,应该这么办呢,此时咱们能够应用 + 来连贯不同的数组;

>>> list1 = [1, 2, 3]
>>> list2 = [4, 5, 6]
>>> print(list2 + list2)
[1, 2, 3, 4, 5, 6]

而如果咱们想要某个列表反复,则能够应用 *

>>> list1 = [1, 3, 4]
>>> print(list1 * 2)
[1, 3, 4, 1, 3, 4]

3.4 元组

tuple 也是一种相似于 list有序 列表,用 () 标识,外部元素用逗号隔开。它俩的一个最大区别在于:tuple 一旦初始化之后,就不能再批改了,相当于只读列表,所以 tuple 不像 list 一样有相似 append()、insert() 等办法;

罕用办法如下:

办法 阐明
len(tuple) 计算元组元素个数
tuple(seq) 将列表转换为元组
max(tuple) 返回元组中元素最大值
min(tuple) 返回元组中元素最小值

如果咱们要定义一个空的元组,能够用如下的形式:

tuple = ()

而如果元组中只有一个元素时,为了防止歧义,通常须要定义成如下模式:

t = (1,)

3.5 字典

列表是有序的对象汇合,而字典则是无序的对象汇合,字典用 {}标识,元素间用逗号分隔,每个元素由 key:value 的模式组成。

两者之间的区别在于:字典中的元素是通过键值对来存取的,而不是通过偏移存取。

字典值尽管可能没有限度,然而键是有限度的,次要有如下两点须要记住:

  1. 不容许同一个键呈现两次;
  2. 键必须不可变,所以它能够是数字、字符串或元组,然而不能用列表;

字典也有许多办法供咱们应用,次要办法总结如下:

办法 阐明
len(dict) 计算字典元素个数,即键的总数
str(dict) 输入字典可打印的字符串示意
type(variable) 返回输出的变量类型,如果变量是字典就返回字典类型
dict.clear() 删除字典内所有元素
dict.copy() 返回一个字典的浅复制
dict.haskey(key) 如果键在字典 dict 里返回 True,否则返回 False
dict.get(key) 返回指定键的值
dict.keys() 以列表返回一个字典所有的键
dict.values() 以列表返回字典中的所有值
dict.items() 以列表返回可遍历的(键, 值) 元组数组
pop(key) 删除字典给定键 key 所对应的值,返回值为被删除的值
popitem() 返回并删除字典中的最初一对键和值

3.6 布尔值

布尔值只有 TrueFalse 两种值,要么是True,要么是False。在 Python 中,能够间接用TrueFalse 间接示意布尔值,也能够通过布尔运算计算出来。

>>> False
False
>>> 3 > 2
True

4. 运算符

Python 反对多种运算符,然而运算符之间也是有优先级的,下表大抵依照优先级从高到低的程序列出了所有运算符,上面别离介绍运算符的类别;

运算符 形容
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最初两个的办法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 ‘AND
`^ ` 位运算符
<= < > >= 比拟运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not and or 逻辑运算符

4.1 算术运算符

假如变量 a = 10, b = 20

运算符 形容 实例
+ 加 – 两个对象相加 a + b 输入后果 30
- 减 – 失去正数或是一个数减去另一个数 a - b 输入后果 -10
* 乘 – 两个数相乘或是返回一个被反复若干次的字符串 a * b 输入后果 200
/ 除 – x 除以 y b / a 输入后果 2
% 取模 – 返回除法的余数 b % a 输入后果 0
** 幂 – 返回 xy 次幂 a**b 为 10 的 20 次方,输入后果 100000000000000000000
// 取整除 – 返回商的整数局部(向下取整 >>> 9//2 4 >>> -9//2 -5

4.2 比拟运算符

假如变量 a = 10, b = 20

运算符 形容 实例
== 等于 – 比拟对象是否相等 (a == b) 返回 False
!= 不等于 – 比拟两个对象是否不相等 (a != b) 返回 True
<> 不等于 – 比拟两个对象是否不相等。python3 已废除。 (a <> b) 返回 True。这个运算符相似 !=
> 大于 – 返回 x 是否大于 y (a > b) 返回 False
< 小于 – 返回 x 是否小于 y。所有比拟运算符返回 1 示意真,返回 0 示意假。这别离与非凡的变量 TrueFalse 等价 (a < b) 返回 True
>= 大于等于 – 返回 x 是否大于等于 y (a >= b) 返回 False
<= 小于等于 – 返回 x 是否小于等于 y (a <= b) 返回 True

4.3 赋值运算符

假如变量 a = 10, b = 20

运算符 形容 实例
= 简略的赋值运算符 c = a + ba + b 的运算后果赋值为 c
+= 加法赋值运算符 c += a 等效于 c = c + a
-= 减法赋值运算符 c -= a 等效于 c = c - a
*= 乘法赋值运算符 c *= a 等效于 c = c * a
/= 除法赋值运算符 c /= a 等效于 c = c / a
%= 取模赋值运算符 c %= a 等效于 c = c % a
**= 幂赋值运算符 c \**= a 等效于 c = c ** a
//= 取整除赋值运算符 c //= a 等效于 c = c // a

4.4 逻辑运算符

假如变量 a = 10, b = 20

运算符 逻辑表达式 形容 实例
and x and y 布尔 ” 与 ” – 如果 xFalsex and y 返回 False,否则它返回 y 的计算值 (a and b) 返回 20
or x or y 布尔 ” 或 ” – 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值 (a or b) 返回 10
not not x 布尔 ” 非 ” – 如果 xTrue,返回 False。如果 xFalse,它返回 True not(a and b) 返回 False

4.5 位运算符

假如变量 a = 60, b = 13

按位运算符石将数字转换为二进制之后来进行计算的,则 a = 00111100、b = 00001101

运算符 形容 实例
& 按位与运算符:参加运算的两个值, 如果两个相应位都为 1, 则该位的后果为 1, 否则为 0 (a & b) 输入后果 12,二进制解释:0000 1100
` ` 按位或运算符:只有对应的二个二进位有一个为 1 时,后果位就为 1 `(a b)` 输入后果 61,二进制解释:0011 1101
^ 按位异或运算符:当两对应的二进位相异时,后果为 1 (a ^ b) 输入后果 49,二进制解释:0011 0001
~ 按位取反运算符:对数据的每个二进制位取反, 即把 1 变为 0, 把 0 变为 1。~x 相似于 -x-1 (~a) 输入后果 -61,二进制解释:1100 0011,在一个有符号二进制数的补码模式。
<< 左挪动运算符:运算数的各二进位全副左移若干位,由 << 左边的数字指定了挪动的位数,高位抛弃,低位补 0。 a << 2 输入后果 240,二进制解释:1111 0000
>> 右挪动运算符:把 “>>”右边的运算数的各二进位全副右移若干位,>> 左边的数字指定了挪动的位数 a >> 2 输入后果 15,二进制解释:0000 1111

4.6 成员运算符

运算符 形容 实例
in 如果在指定的序列中找到值返回 True,否则返回 False xy 序列中 , 如果 xy 序列中返回 True
not in 如果在指定的序列中没有找到值返回 True,否则返回 False x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True

4.7 身份运算符

身份运算符用于比拟两个对象的存储单元:

运算符 形容 实例
is is 是判断两个标识符是不是援用自一个对象 x is y, 相似 id(x) == id(y) , 如果援用的是同一个对象则返回 True,否则返回 False
is not is not 是判断两个标识符是不是援用自不同对象 x is not y,相似 id(a) != id(b)。如果援用的不是同一个对象则返回后果 True,否则返回 False

5. 总结

好了,文章到这里也算🈶️挺多内容了,连忙去认真看看,而后入手实际起来吧。

如果你感觉我的文章对你有所帮忙,那就连忙去关注我吧。另外,为了不便大家交换,我还特意创立了微信交换群,如果你也有趣味退出,关注我的公众号(村雨遥)回复 加群,我人工拉你入群哦。

退出移动版