标识符

一个ASCII标识符需要同时满足以下三个条件:

1、第一个字符必须是字母表中的字母或者下划线_

2、标识符的其他部分由字母、数字、下划线组成

3、标识符对大小写是敏感的,即A与a是不同的

一般来说ASCII标识符是用来给变量命名的。

Python保留字

Python保留字指的是Python中的关键字,意思是这些词有特殊的意思和用途,不能拿来当做ASCII标识符,也就是说不能拿来作变量的名字。

在Python的标准库中可以查询到所有的关键字:

>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

数据类型

为了方便处理不同的数据(比如数字、文本、图像等等),我们需要不同的数据类型。Python3中有六个标准的数据类型:

1、Number(数字)

2、String(字符串)

3、List(列表)

4、Tuple(元组)

5、Set(集合)

6、Dictionary(字典)

这六个标准的数据类型能够直接被Python处理,它们可以分为两大类:

1、不可变数据类型:Number(数字)、String(字符串)、Tuple(元组)

2、可变数据类型:List(列表)、Set(集合)、Dictionary(字典)

下面将具体介绍这六种标准数据类型,并说明什么叫做可变、不可变。

Number(数字)

数字,能想到就是我们熟悉的诸如2、3.1415926等数字。在Python3中,Number(数字)这个标准数据类型又被分为四种小类型:int、float、bool、complex

int(整型)

指的是整数类型,比如2,100,-8等等。

由于计算机使用的是二进制,所以用十六进制表示整数是很常见的,在Python中十六进制用0x前缀和0-9以及a-f表示,比如0xff00。

float(浮点型)

指的是浮点数,也就是小数。

浮点数有两种写法,一是数学写法,比如3.1415926,-95.488等等;二是科学计数法(广义的),用e来代替10,比如1.23*10^9就可以写作1.23e9或者12.3e8。对于很大和很小的浮点数必须使用科学计数法。

bool(布尔型)

布尔型只有两个可能的取值,TrueFalse

布尔型数据之间的运算称为逻辑运算,布尔型数据之间的运算符称为逻辑运算符,一共有三种:and(与)、or(或)、not(非)。and(与)和or(或)是二元运算符,not(非)是一元运算符,真值表如下:

与运算
and(与) True False
True True False
False False False
或运算
or(或) True False
True True True
False True False
非运算
not(非) 运算结果
True False
False True

事实上,True的取值为1,False的取值为0,是可以与数字进行计算的。但布尔型的数据存在的主要价值并不是拿来做数字运算,而是做逻辑运算,所以通常情况下我们不会将布尔型与其他数字类型混在一起运算。

complex(复型)

指的是复数,在Python3中复数有两种表示法,一是复数单位用j表示,形式是“a+bj”,比如1.5+6.8j;二是用complex(a,b)表示,比如complex(1.5,6.8)。

String(字符串)

Python中单引号与双引号的被认为是等价的,即'zyy'与"zyy"是完全一样的,都是字符串。需要注意的是,引号必须正确配对,单引号、双引号不能混用。并且,要注意这里的引号都是英文字符。

一个字符串中的每个位置(或者说每个字符)可以由索引来访问,索引值从0开始,格式为[索引值],比如

>>> str = 'The quick brown fox jumps over a lazy dog.'
>>> str[0]
'T'
>>> str[4]
'q'
>>> str[29]
'r'

要想访问字符串中的一个子段,同样由索引来访问,格式为[起始索引值:终止索引值+1],注意这里的冒号是英文字符。比如:

>>> str = 'The quick brown fox jumps over a lazy dog.'
>>> str[4:19]
'quick brown fox'

索引值一般来说是从0到字符串的长度-1,但也可以用-1表示倒数第一位,用-2表示倒数第二位,以此类推。实际上这种访问方式叫做切片,详细请移步:(挖坑)

String(字符串)作为一个数据类型也是可以进行运算的。

字符串1+字符串2将得到一个新的字符串,是由之前的两个字符串连接而成,比如

>>> 'zyy'+'是一只超级大沙茶'
'zyy是一只超级大沙茶'

字符串*整数将得到一个新的字符串,是之前的字符串复制这个整数次后连接而成,比如

>>> '哈'*13
'哈哈哈哈哈哈哈哈哈哈哈哈哈'

字符串还有一个问题是字符串的格式化。我们经常会需要输出某个具有固定格式的字符串,比如'尊敬的旅客您好!我们抱歉地通知,由于恶劣天气原因,您所乘坐的xxxxx航班已取消。请您尽快到xxx柜台办理改签或退票手续。'这里的xx处的内容都是变化的,而其余的都是固定的,于是我们希望使用一种简便的方法来使得每次都只需要考虑变化的部分。这就是字符串的格式化。

为了实现字符串的格式化,一共有两种方法。一种是利用占位符,另一种是利用字符串的format()函数。

对于第一种方法,需要先了解一下占位符。常见的占位符如下:

占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

在格式化的字符串中需要替换的位置使用占位符,在后面依次填上替换的内容即可。格式为:格式化字符串 % 替换的内容。比如:

>>> 'My name is %s' % 'zyy'
'My name is zyy'
>>> 'the price of %s is $%f' % ('shirt', 49.9)
'the price of shirt is $49.900000'

对于数字的占位符来说,还有控制长度和补0的用法,比如:

>>> print('%2d - %02d' % (3, 1))3 - 01
>>> print('%.2f' % 3.1415926)
3.14

还有更多的一些用法可以百度,一般记住这几个常用的就足够了。

另一种格式化字符串的方法需要用到字符串的format()函数,在格式化的字符串中需要替换的位置使用{n}或{n:格式控制}来占位,其中n从0开始编号,在format()函数中传入需要替换的内容。格式为:格式化字符串.format(替换的内容)。比如:

>>> 'My name is {0}'.format('zyy')
'My name is zyy'
>>> 'the price of {0} is ${1:.2f}'.format('shirt', 49.9)
'the price of shirt is $49.90'

List(列表)

List(列表)是一堆数据按顺序放在一起构成的一个数据类型,将数据用一对[]括起来,数据之间用逗号隔开。

列表的访问方式与字符串相似,使用索引。比如:

>>> L = ['Alice', 'Bob', 9.15, True]
>>> L[0]
'Alice'
>>> L[2]
9.15
>>> L[1:]
['Bob', 9.15, True]

注意,列表中的某个或某几个数据也可以是列表,而当列表中有数据是列表时,可以使用多重索引的方式访问元素,比如:

>>> L = [1, [2, 3]]
>>> L[0]
1
>>> L[1]
[2, 3]
>>> L[1][0]
2

与字符串相似,列表也有+和*运算,比如:

>>> L1 = ['Alice', 'Bob', 9.15, True]
>>> L2 = [-8, 'zyy', 6]
>>> L1 + L2
['Alice', 'Bob', 9.15, True, -8, 'zyy', 6]
>>> L1 * 3
['Alice', 'Bob', 9.15, True, 'Alice', 'Bob', 9.15, True, 'Alice', 'Bob', 9.15, True]

与字符串不同的是,字符串是不能被改变的,而列表可以添加数据、删除数据、更改数据。格式如下:

代码 含义
L[i] = x 将列表L中索引位置为i处的数据替换为x
L.append(x) 在列表末尾添加数据x
L.insert(i, x) 在列表的索引位置为i处添加数据x
L.pop() 删除列表L末尾的数据,并打印
L.pop(i) 删除列表L的索引位置为i处的数据

下面给出几个实例:

>>> L = ['Alice', 'Bob', 9.15, True]>>> L[0] = 'zyy'#将索引位置为0处的数据替换为'zyy'
>>> L
['zyy', 'Bob', 9.15, True]>>> L.append(9)#在列表末尾添加数据9
>>> L
['zyy', 'Bob', 9.15, True, 9]>>> L.insert(1, False)#在列表的索引位置为1处添加数据False
>>> L
['zyy', False, 'Bob', 9.15, True, 9]>>> L.pop()#删除列表末尾的数据,并打印
9
>>> L
['zyy', False, 'Bob', 9.15, True]>>> L.pop(2)#删除列表的索引位置为2处的数据,并打印
'Bob'
>>> L
['zyy', False, 9.15, True]

Tuple(元组)

Set(集合)

Dictionary(字典)

参考:Python教程-廖雪峰、Python3教程-菜鸟教程

转载于:https://www.cnblogs.com/CQBZOIer-zyy/p/9400432.html

[Python]数据类型、常量、变量和运算符(未完待续)相关推荐

  1. Scala语法之常量变量和运算符

    Scala语法之常量变量和运算符 1. 背景 官网:https://www.scala-lang.org/ scala是什么 上述截图可知,scala是一门编程语言.静态语言需要编译才能运行,强类型语 ...

  2. Python标准库-string模块《未完待续》

    >>> import string >>> s='hello rollen , how are you ' >>> string.capwords ...

  3. Python 网络编程之网络协议(未完待续)

    一:网络编程从两大架构开始 1.网络开发的两大架构 c/s 架构 : client  server B/S 架构 : Brower  server (1)bs 和 cs 架构之间的关系? (2)哪一种 ...

  4. python变量运算符_Python基础 — 变量和运算符

    序言:这一章我们将学习变量以及常见的类型,我们将以案例和代码相结合的方式进行梳理,但是其中所有的案例和知识点 都是Python3 版本. 变量和运算符 1.1 初步介绍 ​ 在程序设计中,变量是一种存 ...

  5. python变量和运算符

    python变量和运算符 1.变量 创建变量: 创建规则: 赋值变量: 字母,数字和下划线,不可数字开头,不可是关键字 num=1 _name='' a,b,c=1,2,3 2.运算符 算术:+-*/ ...

  6. Java基础以及变量和运算符、包机制、javadoc生成

    Java基础以及变量和运算符.包机制.javadoc生成 注释.标识符.关键字 注释 标识符 关键字 标识符注意点 数据类型 强类型语言 弱类型语言 Java的数据类型 基本类型(primitive ...

  7. Java变量和运算符详解

    Java变量和运算符 已在思维导图中对变量知识框图进行整理! 使用markdown进行详细记录 分以下几点进行介绍: 变量基本原理 基本类型和引用类型变量 变量使用和注意事项 运算符 1. 变量基本原 ...

  8. Day3 变量和运算符

    Day2 变量和运算符 一.变量 1.程序中使用数据的两种方 1)直接使用 #无变量时 print(18)print('麦林炮手:你总说我太小,但是出现危险我都会跳跃到你身边,将危险推开.用手中的炮筒 ...

  9. Shell脚本:变量和运算符

    4.bash的变量和运算符 4.1 变量的命名规则 4.2 变量的分类 系统变量 环境变量 自定义变量 4.3 变量的查询 set命令 set -u #如果设定此项,当你调用未声明的变量时会报错,默认 ...

  10. python线程和进程-未完待续

    python线程和进程-未完待续 环境变量 0. 概念 1. 并行/并发 并行 并发 并行与并发的关系 2.进程/线程 基本概念 线程 多线程 队列 互斥锁/线程共享 阻塞 锁 条件锁 进程 多进程 ...

最新文章

  1. XCTF联赛“出海计划”开启,八月新加坡站国际赛蓄势待发
  2. 使用 Redis 实现一个轻量级的搜索引擎,牛逼啊 !
  3. python编程难吗-Python、C+这些编程语言难吗?十岁女孩告诉你答案
  4. 看了《为什么你应该写博客》有感
  5. 基于并联SVM支持向量机训练HOG特征提取的人员目标提取
  6. SparkSQL 将统计结果保存到Mysql
  7. Cannot find module 'express'
  8. SpringBoot2.0 整合 Redis集群 ,实现消息队列场景
  9. 正则匹配后缀 html,如何用正则匹配后缀名不为.jpg, .css, .js, .html, .htm, .png的文件...
  10. 95-860-050-源码-定时器-InternalTimeServiceManager
  11. xe5 android sample 中的 SimpleList 是怎样绑定的
  12. OPNET网络仿真分析-1.2、OPNET安装教程
  13. 从0到100亿互联网金融架构发展史
  14. IP地址定位计算机,怎么通过ip地址定位到具体位置
  15. 【Unity基础】Unity打包exe
  16. 你值得拥有的Mac PS滤镜插件和特效处理软件合集,不要错过!
  17. 海康测温门禁一体机DS-K5604SD-A
  18. 国内智能音箱生态系统对比分析
  19. 静态全局变量和全局变量的区别
  20. 教你识别QQ匿名聊天的人是谁

热门文章

  1. mysql limit不要1_切记!MySQL中ORDER BY与LIMIT 不要一起用,有大坑
  2. linux支持raid5阵列,linux下raid5阵列
  3. Android平滑图片加载和缓存库Glide使用详解
  4. Premiere Pro CC2019安装资料及安装教程
  5. 没有form的表单验证_PHP动态生成表单,内置17种常用组件并且支持表单验证!
  6. python list去掉引号_最新的python面试题集170之三(基础性学习)
  7. ad域帐号登录提示无法处理请求_面试官:说一下单点登录的几种实现方式
  8. 计算机专业勤学善思感悟,勤学善思作文600字
  9. Linux下的shell脚本实战之用户创建
  10. c语言i o编程,C 语言输入输出 (I/O)