简单地理解,标识符就是一个名字,就好像我们每个人都有属于自己的名字,它的主要作用就是作为变量、函数、类、模块以及其他对象的名称。
命令规则
标识符的命名,除了要遵守以上这几条规则外,不同场景中的标识符,其名称也有一定的规范可循
保留字是 Python 语言中一些已经被赋予特定意义的单词,这就要求开发者在开发程序时,不能用这些保留字作为标识符给变量、函数、类、模板以及其他对象命名。
>>> import keyword
>>> keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', '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']
Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块。
>>> dir(__builtins__)
a,b=1,2
弱类型语言有两个特点:
Python中数有四种数值类型:整数、长整数、浮点数和复数。
整型, 如 1, -1, 0
长整型,是比较大的整数,如 234234243324
浮点型,如 1.23、3E-2
复数,如 1 + 2j、 1.1 + 2.2j
在 Python 中查看类型,使用 type() 内置函数。
>>> type(2)
int
>>> type("2")
str
十六进制:在 Pthon 中使用 0x 开头的“数字”表示十六进制的数。对于 9 以后的数字,没有对应的阿拉伯数字。则使用 a 表示 10 , b 表示 11 ,依次类推,最后 f 表示 15。 在十六进制表达中不区分“字母”的大小写
八进制:在 Python 中使用 0o 开头的数字表示八进制, 注意 0 后面是英文字母 o
二进制:0b 开关的表达式表示二进制。在二进制表达式中,只能使用数字 0 与 1
hex1 = 0x45
hex2 = 0x4Af
print("hex1Value: ", hex1)
print("hex2Value: ", hex2)
hex1Value: 69
hex2Value: 1199
int(x) 将 x 转换为一个整数。
float(x) 将 x 转换到一个浮点数。
complex(x) 将 x 转换到一个复数,实数部分为 x ,虚数部分为 0 。
>>> a = 3.1415926
>>> int(a)
3
##转换为复数表达式。
>>> complex(a)
(3.1415926+0j)
‘/’除法运算的结果为小数,即浮点数
#无论操作数是整数还是浮点数,结果总都是浮点数
>>> 4.0 / 2
2.0
>>> 1 / 1
1.0
如果你想丢弃小数部分,即执行整除运算,可使用双斜杠 // 。
#无论操作数是整数还是浮点数,得到的商不保留浮点数的尾数
>>>4//2
2
>>>5.0//2
2.0
求余(求模)运算符,x % y的结果为x除以y的余数
>>> 10 % 3
1
>>> 2.75 % 0.5
0.25
>>> 10 % -3
-2
>>> 10 // -3
-4
乘方(求幂)运算符。 请注意,乘方运算符的优先级比求负(单目减)高,因此 -32 等价于 -(32) 。如果你要计算的是 (-3)**2 ,必须使用括号进行明确。
>>> -3 ** 2
-9
>>> (-3) ** 2
9
#在操作两 个整型或浮点型值时, + 是相加操作符。但是,在用于两个字符串时,它将字符串 连接起来,成为“字符串连接”操作符。
>>> 'Alice' + 'Bob'
'AliceBob'
#如果你对一个字符串和一个整型值使用加操作符,Python就不知道如何处理
>>> 'Alice' + 42
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-5-4e9a9e71481a> in <module>
----> 1 'Alice' + 42
TypeError: can only concatenate str (not "int") to str
##在用于两个整型或浮点型值时,* 操作符表示乘法。 但* 操作符用于一个字符串 值和一个整型值时, 它变成了“字符串复制”操作符。
>>> 'Alice' * 5
'AliceAliceAliceAliceAlice'
>>> var2 = "Runoob"
>>> print ("var2[1:5]: ", var2[1:5])
var2[1:5]: unoo
#in 关键字的用法类似于操作系统,用于判断一个某个元素是否在一个列表或字符串中。
>>> if( "H" in a) :
>>> print("H 在变量 a 中")
>>> else :
>>> print("H 不在变量 a 中")
H 在变量 a 中
#not 关键字用于取反
>>> if( "M" not in a) :
>>> print("M 不在变量 a 中")
>>> else :
>>> print("M 在变量 a 中")
M 不在变量 a 中
用法是将一个值插入到一个有字符串格式符 %s 的字符串中。
>>> "我叫%s,今年%d岁!" % ('小明', 10)
'我叫小明,今年10岁!'
Python 字符串格式化符号:
%s : 格式化字符串 ;
%d : 格式化整数 ;
%f : 格式化浮点数字,可指定小数点后的精度 ;
指定小数精度
%m.nf
%.nf
m 表示最小宽度,n 表示输出精度,.是必须存在的。
f = 3.141592653
# 最小宽度为8,小数点后保留3位
print("%8.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0
print("%08.3f" % f)
# 最小宽度为8,小数点后保留3位,左边补0,带符号
print("%+08.3f" % f)
单引号和双引号,大多数情况完全相同
'Let's go!'
报错
#反斜杠( \ )对引号进行转义
'Let\'s go!'
转义字符有时候会带来一些麻烦,例如我要表示一个包含 Windows 路径D:\Program Files\Python 3.8\python.exe这样的字符串,在 Python 程序中直接这样写肯定是不行的,不管是普通字符串还是长字符串。因为\的特殊性,我们需要对字符串中的每个\都进行转义,也就是写成D:\Program Files\Python 3.8\python.exe这种形式才行。
在普通字符串或者长字符串的开头加上r前缀,就变成了原始字符串,具体格式为:
str1 = r'原始字符串内容'
str2 = r"""原始字符串内容""
rstr = r'D:\Program Files\Python 3.8\python.exe'
print(rstr)
https://www.liaoxuefeng.com/wiki/1016959663602400/1017075323632896
Python 程序代码中可能存在若干种语言文字的标识符和字符串用于显示、输出或注释。为了存储和显示这些不同的语言文字,不同的国家和组织制定了若干种字符集标准。常见的字符集有 ASCII 字符集、简体中文 GB2312 字符集、繁体中文 Big5 字符集、简体中文 GB18030 字符集、Unicode 字符集等。
在Python3中,所有的字符串都是Unicode字符串,在 Unicode 中有很多方式将数字 23383 表示成程序中的数据,包括 UTF-8、UTF-16、UTF-32
在计算机内存中,统一使用Unicode编码,当需要保存到硬盘或者需要传输的时候,就转换为UTF-8编码。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D05wg0Cx-1656062146825)(https://boostnote.io/api/teams/dlm1ZMj21/files/0971c779c2cf97bc40e136e29a66b04b029eb5ef84f40cae80904530464c4d1c-image.png)]
Python 三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符
>>> para_str = """这是一个多行字符串的实例
>>> 多行字符串可以使用制表符
>>> TAB ( \t )。
>>> 也可以使用换行符 [ \n ]。
>>> """
>>> print (para_str)
bytes 是 Python 3.x 新增的类型,在 Python 2.x 中是不存在的。
如果采用合适的字符集,字符串可以转换成字节串;反过来,字节串也可以恢复成对应的字符串。
#利用字符串的encode()方法编码成bytes,默认使用utf-8字符集
a= “学习”.encode(‘utf-8’)
#调用 bytes 对象的 decode() 方法将其解码成字符串
st= a.decode(‘utf-8’)
#连续赋值
A=B=C=100
#扩展后的赋值运算符
x += y #类似于x = x + y
x -= y #类似于x = x - y
= 和 == 是两个不同的运算符,= 用来赋值,而 == 用来判断两边的值是否相等
exp1 if contion else exp2
condition 是判断条件,exp1 和 exp2 是两个表达式。如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。
| 运算符说明 | Python运算符 | 优先级 | 结合性 |
|---|---|---|---|
| 小括号 | ( ) | 19 | 无 |
| 索引运算符 | x[i] 或 x[i1: i2 [:i3]] | 18 | 左 |
| 属性访问 | x.attribute | 17 | 左 |
| 乘方 | ** | 16 | 右 |
| 按位取反 | ~ | 15 | 右 |
| 符号运算符 | +(正号)、-(负号) | 14 | 右 |
| 乘除 | *、/、//、% | 13 | 左 |
| 加减 | +、- | 12 | 左 |
| 位移 | >>、<< | 11 | 左 |
| 按位与 | & | 10 | 右 |
| 按位异或 | ^ | 9 | 左 |
| 按位或 | | | 8 | 左 |
| 比较运算符 | ==、!=、>、>=、<、<= | 7 | 左 |
| is 运算符 | is、is not | 6 | 左 |
| in 运算符 | in、not in | 5 | 左 |
| 逻辑非 | not | 4 | 右 |
| 逻辑与 | and | 3 | 左 |
| 逻辑或 | or | 2 | 左 |
| 逗号运算符 | exp1, exp2 | 1 | 左 |
4+4<<2
#类似于(4+4) << 2
100 / 25 * 16,/和*的优先级相同,应该先执行哪一个呢?
所谓结合性,就是当一个表达式中出现多个优先级相同的运算符时,先执行哪个运算符:先执行左边的叫左结合性,先执行右边的叫右结合性。