Skip to content

1.字面量

python
print(666)
print("字符串")
print("第一组字符串","第二组字符串")

2.注释

python
# 单行注释

==单行注释==:# 建议规范:#与注释内容中间间隔空格 多行注释:"""进行多行注释

3.变量

变量没有类型,数据有类型 ==变量定义格式:== 变量名称 = 变量值

python
money = 50

4.数据类型

type() 可以查看数据类型

1.数字(Number)

Python 数字数据类型用于存储数值。

数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。

以下实例在变量赋值时 Number 对象将被创建:

python
var1 = 1
var2 = 10

您也可以使用del语句删除一些数字对象的引用。

del语句的语法是:

del var1[,var2[,var3[....,varN]]]

您可以通过使用del语句删除单个或多个对象的引用,例如:

del var
del var_a, var_b

Python 支持三种不同的数值类型:

  • 整型(int) - 通常被称为是整型或整数,是正或负整数,不带小数点。Python3 整型是没有限制大小的,可以当作 Long 类型使用,所以 Python3 没有 Python2 的 Long 类型。布尔(bool)是整型的子类型。

  • 浮点型(float) - 浮点型由整数部分与小数部分组成,浮点型也可以使用科学计数法表示(2.5e2 = 2.5 x 102 = 250)

  • 复数( (complex)) - 复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

我们可以使用十六进制和八进制来代表整数:

>>> number = 0xA0F # 十六进制
>>> number
2575

>>> number=0o37 # 八进制
>>> number
31
intfloatcomplex
100.03.14j
10015.2045.j
-786-21.99.322e-36j
08032.3e+18.876j
-0490-90.-.6545+0J
-0x260-32.54e1003e+26J
0x6970.2E-124.53e-7j
  • Python支持复数,复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示, 复数的实部a和虚部b都是浮点型。

Python 数字类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

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

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

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

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

以下实例将浮点数变量 a 转换为整数:

>>> a = 1.0
>>> int(a)
1

Python 数字运算

Python 解释器可以作为一个简单的计算器,您可以在解释器里输入一个表达式,它将输出表达式的值。

表达式的语法很直白: +, -, * 和 /, 和其它语言(如Pascal或C)里一样。例如:

>>> 2 + 2
4
>>> 50 - 5*6
20
>>> (50 - 5*6) / 4
5.0
>>> 8 / 5  # 总是返回一个浮点数
1.6

**注意:**在不同的机器上浮点运算的结果可能会不一样。

在整数除法中,除法 / 总是返回一个浮点数,如果只想得到整数的结果,丢弃可能的分数部分,可以使用运算符 // :

>>> 17 / 3  # 整数除法返回浮点型
5.666666666666667
>>>
>>> 17 // 3  # 整数除法返回向下取整后的结果
5
>>> 17 % 3  # %操作符返回除法的余数
2
>>> 5 * 3 + 2 
17

注意:// 得到的并不一定是整数类型的数,它与分母分子的数据类型有关系。

>>> 7//2
3
>>> 7.0//2
3.0
>>> 7//2.0
3.0
>>>

等号 = 用于给变量赋值。赋值之后,除了下一个提示符,解释器不会显示任何结果。

>>> width = 20
>>> height = 5*9
>>> width * height
900

Python 可以使用 ** 操作来进行幂运算:

>>> 5 ** 2  # 5 的平方
25
>>> 2 ** 7  # 2的7次方
128

变量在使用前必须先"定义"(即赋予变量一个值),否则会出现错误:

>>> n   # 尝试访问一个未定义的变量
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'n' is not defined

不同类型的数混合运算时会将整数转换为浮点数:

>>> 3 * 3.75 / 1.5
7.5
>>> 7.0 / 2
3.5

在交互模式中,最后被输出的表达式结果被赋值给变量 _ 。例如:

>>> tax = 12.5 / 100
>>> price = 100.50
>>> price * tax
12.5625
>>> price + _
113.0625
>>> round(_, 2)
113.06

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


数学函数

函数返回值 ( 描述 )
abs(x)返回数字的绝对值,如abs(-10) 返回 10
ceil(x)返回数字的上入整数,如math.ceil(4.1) 返回 5
cmp(x, y)如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。 Python 3 已废弃,使用 (x>y)-(x<y) 替换
exp(x)返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
fabs(x)以浮点数形式返回数字的绝对值,如math.fabs(-10) 返回10.0
floor(x)返回数字的下舍整数,如math.floor(4.9)返回 4
log(x)如math.log(math.e)返回1.0,math.log(100,10)返回2.0
log10(x)返回以10为基数的x的对数,如math.log10(100)返回 2.0
max(x1, x2,...)返回给定参数的最大值,参数可以为序列。
min(x1, x2,...)返回给定参数的最小值,参数可以为序列。
modf(x)返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
pow(x, y)x**y 运算后的值。
round(x [,n])返回浮点数 x 的四舍五入值,如给出 n 值,则代表舍入到小数点后的位数。<br><br>其实准确的说是保留值将保留到离上一位更近的一端。
sqrt(x)返回数字x的平方根。

随机数函数

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

函数描述
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包括以下三角函数:

函数描述
acos(x)返回x的反余弦弧度值。
asin(x)返回x的反正弦弧度值。
atan(x)返回x的反正切弧度值。
atan2(y, x)返回给定的 X 及 Y 坐标值的反正切值。
cos(x)返回x的弧度的余弦值。
hypot(x, y)返回欧几里德范数 sqrt(xx + yy)。
sin(x)返回的x弧度的正弦值。
tan(x)返回x弧度的正切值。
degrees(x)将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
radians(x)将角度转换为弧度

数学常量

常量描述
pi数学常量 pi(圆周率,一般以π来表示)
e数学常量 e,e即自然常数(自然常数)。

2.字符串

字符串是 Python 中最常用的数据类型。我们可以使用引号(' 或 " )来创建字符串。

创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'
var2 = "Runoob"

Python 访问字符串中的值

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

Python 访问子字符串,可以使用方括号 []来截取字符串,字符串的截取的语法格式如下:

变量[头下标:尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。


Python 字符串更新

你可以截取字符串的一部分并与其他字段拼接,如下实例:

实例(Python 3.0+)

#!/usr/bin/python3 
var1 = 'Hello World!' 
print ("已更新字符串 : ", var1[:6] + 'Runoob!')

以上实例执行结果

已更新字符串 :  Hello Runoob!

Python 转义字符

在需要在字符中使用特殊字符时,python 用反斜杠\转义字符。如下表:

转义字符描述实例
\(在行尾时)续行符>>> print("line1 \<br>... line2 \<br>... line3")<br>line1 line2 line3<br>>>>
\\反斜杠符号>>> print("\\")<br>|
\'单引号>>> print(' \ ')<br>'
\"双引号>>> print(""")<br>"
\a响铃>>> print("\a")<br><br>执行后电脑有响声。
\b退格(Backspace)>>> print("Hello \b World!")<br>Hello World!
\000>>> print("\000")<br><br>>>>
\n换行>>> print("\n")<br><br>>>>
\v纵向制表符>>> print("Hello \v World!")<br>Hello <br> World!<br>>>>
\t横向制表符>>> print("Hello \t World!")<br>Hello      World!<br>>>>
\r回车,将 \r 后面的内容移到字符串开头,并逐一替换开头部分的字符,直至将 \r 后面的内容完全替换完成。>>> print("Hello\rWorld!")<br>World!<br>>>> print('google runoob taobao\r123456')<br>123456 runoob taobao
\f换页>>> print("Hello \f World!")<br>Hello <br> World!<br>>>>
\yyy八进制数,y 代表 0~7 的字符,例如:\012 代表换行。>>> print("\110\145\154\154\157\40\127\157\162\154\144\41")<br>Hello World!
\xyy十六进制数,以 \x 开头,y 代表的字符,例如:\x0a 代表换行>>> print("\x48\x65\x6c\x6c\x6f\x20\x57\x6f\x72\x6c\x64\x21")<br>Hello World!
\other其它的字符以普通格式输出

Python 字符串运算符

下表实例变量 a 值为字符串 "Hello",b 变量值为 "Python":

操作符描述实例
+字符串连接a + b 输出结果: HelloPython
*重复输出字符串a*2 输出结果:HelloHello
[]通过索引获取字符串中字符a[1] 输出结果 e
[ : ]截取字符串中的一部分,遵循左闭右开原则,str[0:2] 是不包含第 3 个字符的。a[1:4] 输出结果 ell
in成员运算符 - 如果字符串中包含给定的字符返回 True'H' in a 输出结果 True
not in成员运算符 - 如果字符串中不包含给定的字符返回 True'M' not in a 输出结果 True
r/R原始字符串 - 原始字符串:所有的字符串都是直接按照字面的意思来使用,没有转义特殊或不能打印的字符。 原始字符串除在字符串的第一个引号前加上字母 r(可以大小写)以外,与普通字符串有着几乎完全相同的语法。print( r'\n' )<br>print( R'\n' )
%格式字符串请看下一节内容。

Python 字符串格式化

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

在 Python 中,字符串格式化使用与 C 中 sprintf 函数一样的语法。

python字符串格式化符号:

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

格式化操作符辅助指令:

符号功能
*定义宽度或者小数点精度
-用做左对齐
+在正数前面显示加号( + )
&lt;sp&gt;在正数前面显示空格
#在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0显示的数字前面填充'0'而不是默认的空格
%'%%'输出一个单一的'%'
(var)映射变量(字典参数)
m.n.m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)

Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。


Python三引号

python三引号允许一个字符串跨多行,字符串中可以包含换行符、制表符以及其他特殊字符。实例如下

实例(Python 3.0+)

#!/usr/bin/python3 
para_str = """这是一个多行字符串的实例 
多行字符串可以使用制表符 TAB ( \t )。 
也可以使用换行符 [ \n ]。 	
""" 
print (para_str)

以上实例执行结果为:

这是一个多行字符串的实例
多行字符串可以使用制表符
TAB (    )。
也可以使用换行符 [ 
 ]。

三引号让程序员从引号和特殊字符串的泥潭里面解脱出来,自始至终保持一小块字符串的格式是所谓的WYSIWYG(所见即所得)格式的。

一个典型的用例是,当你需要一块HTML或者SQL时,这时用字符串组合,特殊字符串转义将会非常的繁琐。

errHTML = '''
&lt;HTML&gt;&lt;HEAD&gt;&lt;TITLE&gt;
Friends CGI Demo&lt;/TITLE&gt;&lt;/HEAD&gt;
&lt;BODY&gt;&lt;H3&gt;ERROR&lt;/H3&gt;
&lt;B&gt;%s&lt;/B&gt;&lt;P&gt;
&lt;FORM&gt;&lt;INPUT TYPE=button VALUE=Back
ONCLICK="window.history.back()"&gt;&lt;/FORM&gt;
&lt;/BODY&gt;&lt;/HTML&gt;
'''
cursor.execute('''
CREATE TABLE users (  
login VARCHAR(8), 
uid INTEGER,
prid INTEGER)
''')

f-string

f-string 是 python3.6 之后版本添加的,称之为字面量格式化字符串,是新的格式化字符串的语法。

之前我们习惯用百分号 (%):

实例

&gt;&gt;&gt; name = 'Runoob'  
&gt;&gt;&gt; 'Hello %s' % name  
'Hello Runoob'

f-string 格式化字符串以 f 开头,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去,实例如下:

实例

&gt;&gt;&gt; name = 'Runoob'  
&gt;&gt;&gt; f'Hello &#123;name&#125;'  # 替换变量  
'Hello Runoob'  
&gt;&gt;&gt; f'&#123;1+2&#125;'         # 使用表达式  
'3'
&gt;&gt;&gt; w = &#123;'name': 'Runoob', 'url': 'www.runoob.com'&#125;  
&gt;&gt;&gt; f'&#123;w["name"]&#125;: &#123;w["url"]&#125;'  
'Runoob: www.runoob.com'

用了这种方式明显更简单了,不用再去判断使用 %s,还是 %d。

在 Python 3.8 的版本中可以使用 = 符号来拼接运算表达式与结果:

实例

&gt;&gt;&gt; x = 1  
&gt;&gt;&gt; print(f'&#123;x+1&#125;')   # Python 3.6  
2  
  
&gt;&gt;&gt; x = 1  
&gt;&gt;&gt; print(f'&#123;x+1=&#125;')   # Python 3.8  
x+1=2

Unicode 字符串

在Python2中,普通字符串是以8位ASCII码进行存储的,而Unicode字符串则存储为16位unicode字符串,这样能够表示更多的字符集。使用的语法是在字符串前面加上前缀 u

在Python3中,所有的字符串都是Unicode字符串。


Python 的字符串内建函数

Python 的字符串常用内建函数如下:

序号方法及描述
1capitalize() <br>将字符串的第一个字符转换为大写
2center(width, fillchar)<br><br>返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
3count(str, beg= 0,end=len(string))<br><br> <br>返回 str 在 string 里面出现的次数,如果 beg 或者 end 指定则返回指定范围内 str 出现的次数
4bytes.decode(encoding="utf-8", errors="strict")<br><br> <br>Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,这个 bytes 对象可以由 str.encode() 来编码返回。
5encode(encoding='UTF-8',errors='strict')<br><br> <br>以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,除非 errors 指定的是'ignore'或者'replace'
6endswith(suffix, beg=0, end=len(string)) <br>检查字符串是否以 suffix 结束,如果 beg 或者 end 指定则检查指定的范围内是否以 suffix 结束,如果是,返回 True,否则返回 False。
7expandtabs(tabsize=8)<br><br> <br>把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
8find(str, beg=0, end=len(string))<br><br> <br>检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,如果包含返回开始的索引值,否则返回-1
9index(str, beg=0, end=len(string))<br><br> <br>跟find()方法一样,只不过如果str不在字符串中会报一个异常。
10isalnum()<br><br> <br>检查字符串是否由字母和数字组成,即字符串中的所有字符都是字母或数字。如果字符串至少有一个字符,并且所有字符都是字母或数字,则返回 True;否则返回 False。
11isalpha()<br><br> <br>如果字符串至少有一个字符并且所有字符都是字母或中文字则返回 True, 否则返回 False
12isdigit()<br><br> <br>如果字符串只包含数字则返回 True 否则返回 False..
13islower()<br><br> <br>如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False
14isnumeric()<br><br> <br>如果字符串中只包含数字字符,则返回 True,否则返回 False
15isspace()<br><br> <br>如果字符串中只包含空白,则返回 True,否则返回 False.
16istitle()<br><br> <br>如果字符串是标题化的(见 title())则返回 True,否则返回 False
17isupper()<br><br> <br>如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False
18join(seq)<br><br> <br>以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
19len(string)<br><br> <br>返回字符串长度
20ljust(width[, fillchar])<br><br> <br>返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
21lower()<br><br> <br>转换字符串中所有大写字符为小写.
22lstrip()<br><br> <br>截掉字符串左边的空格或指定字符。
23maketrans()<br><br> <br>创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
24max(str)<br><br> <br>返回字符串 str 中最大的字母。
25min(str)<br><br> <br>返回字符串 str 中最小的字母。
26replace(old, new [, max])<br><br> <br>把 将字符串中的 old 替换成 new,如果 max 指定,则替换不超过 max 次。
27rfind(str, beg=0,end=len(string))<br><br> <br>类似于 find()函数,不过是从右边开始查找.
28rindex( str, beg=0, end=len(string))<br><br> <br>类似于 index(),不过是从右边开始.
29rjust(width,[, fillchar])<br><br> <br>返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
30rstrip()<br><br> <br>删除字符串末尾的空格或指定字符。
31split(str="", num=string.count(str))<br><br> <br>以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num+1 个子字符串
32splitlines([keepends])<br><br> <br>按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
33startswith(substr, beg=0,end=len(string))<br><br> <br>检查字符串是否是以指定子字符串 substr 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
34strip([chars])<br><br> <br>在字符串上执行 lstrip()和 rstrip()
35swapcase()<br><br> <br>将字符串中大写转换为小写,小写转换为大写
36title()<br><br> <br>返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
37translate(table, deletechars="")<br><br> <br>根据 table 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
38upper()<br><br> <br>转换字符串中的小写字母为大写
39zfill (width)<br><br> <br>返回长度为 width 的字符串,原字符串右对齐,前面填充0
40isdecimal()<br><br> <br>检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。

5.数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,一般情况下你只需要将数据类型作为函数名即可。

Python 数据类型转换可以分为两种:

  • 隐式类型转换 - 自动完成
  • 显式类型转换 - 需要使用类型函数来转换

隐式类型转换

在隐式类型转换中,Python 会自动将一种数据类型转换为另一种数据类型,不需要我们去干预。

以下实例中,我们对两种不同类型的数据进行运算,较低数据类型(整数)就会转换为较高数据类型(浮点数)以避免数据丢失。

实例

python
num_int = 123  
num_flo = 1.23  
  
num_new = num_int + num_flo  
  
print("num_int 数据类型为:",type(num_int))  
print("num_flo 数据类型为:",type(num_flo))  
  
print("num_new 值为:",num_new)  
print("num_new 数据类型为:",type(num_new))  

以上实例输出结果为:

num_int 数据类型为: &lt;class 'int'&gt;
num_flo 数据类型为: &lt;class 'float'&gt;
num_new: 值为: 124.23
num_new 数据类型为: &lt;class 'float'&gt;

代码解析:

  • 实例中我们对两个不同数据类型的变量 num_int 和 num_flo 进行相加运算,并存储在变量 num_new 中。
  • 然后查看三个变量的数据类型。
  • 在输出结果中,我们看到 num_int 是 整型(integer) , num_flo 是 浮点型(float)
  • 同样,新的变量 num_new 是 浮点型(float),这是因为 Python 会将较小的数据类型转换为较大的数据类型,以避免数据丢失。

我们再看一个实例,整型数据与字符串类型的数据进行相加:

实例

python
num_int = 123  
num_str = "456"  
  
print("num_int 数据类型为:",type(num_int))  
print("num_str 数据类型为:",type(num_str))  
  
print(num_int+num_str)

以上实例输出结果为:

bash
num_int 数据类型为: &lt;class 'int'&gt;
num_str 数据类型为: &lt;class 'str'&gt;
Traceback (most recent call last):
  File "/runoob-test/test.py", line 7, in &lt;module&gt;
    print(num_int+num_str)
TypeError: unsupported operand type(s) for +: 'int' and 'str'

从输出中可以看出,整型和字符串类型运算结果会报错,输出 TypeError。 Python 在这种情况下无法使用隐式转换。

但是,Python 为这些类型的情况提供了一种解决方案,称为显式转换。

显式类型转换

在显式类型转换中,用户将对象的数据类型转换为所需的数据类型。 我们使用 int()、float()、str() 等预定义函数来执行显式类型转换。

int() 强制转换为整型:

python
= int(1)   # x 输出结果为 1  
= int(2.8# y 输出结果为 2  
= int("3"# z 输出结果为 3

float() 强制转换为浮点型:

python
= float(1)     # x 输出结果为 1.0  
= float(2.8)   # y 输出结果为 2.8  
= float("3")   # z 输出结果为 3.0  
= float("4.2"# w 输出结果为 4.2

str() 强制转换为字符串类型:

python
= str("s1"# x 输出结果为 's1'  
= str(2)    # y 输出结果为 '2'  
= str(3.0)  # z 输出结果为 '3.0'

强转类型表

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值。

函数描述
int(x [,base])将x转换为一个整数
float(x)将x转换到一个浮点数
complex(real [,imag])创建一个复数
str(x)将对象 x 转换为字符串
repr(x)将对象 x 转换为表达式字符串
eval(str)用来计算在字符串中的有效Python表达式,并返回一个对象
tuple(s)将序列 s 转换为一个元组
list(s)将序列 s 转换为一个列表
set(s)转换为可变集合
dict(d)创建一个字典。d 必须是一个 (key, value)元组序列。
frozenset(s)转换为不可变集合
chr(x)将一个整数转换为一个字符
ord(x)将一个字符转换为它的整数值
hex(x)将一个整数转换为一个十六进制字符串
oct(x)将一个整数转换为一个八进制字符串

6.标识符

1.命名规则

==只允许:==中文,英文,数字(不能开头),下划线_ 大小写敏感 不可使用关键字

2.命名规范

  1. 见名知意,简洁明了
  2. 下划线命名法
  3. 英文字母全小写

7.运算符

1.算术运算符

2.赋值运算符

3.逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
andx and y布尔"与" - 如果 x 为 False,x and y 返回 x 的值,否则返回 y 的计算值。(a and b) 返回 20。
orx or y布尔"或" - 如果 x 是 True,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

4. 成员运算符

除了以上的一些运算符之外,Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

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

5.身份运算符

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

运算符描述实例
isis 是判断两个标识符是不是引用自一个对象x is y, 类似 id(x) == id(y) , 如果引用的是同一个对象则返回 True,否则返回 False
is notis not 是判断两个标识符是不是引用自不同对象x is not y , 类似 id(x) != id(y)。如果引用的不是同一个对象则返回结果 True,否则返回 False。

6.运算符优先级(高=>低)

以下表格列出了从最高到最低优先级的所有运算符, 相同单元格内的运算符具有相同优先级。 运算符均指二元运算,除非特别指出。 相同单元格内的运算符从左至右分组(除了幂运算是从右至左分组):

运算符描述
(expressions...),<br><br>[expressions...]&#123;key: value...&#125;&#123;expressions...&#125;圆括号的表达式
x[index]x[index:index]x(arguments...)x.attribute读取,切片,调用,属性引用
await xawait 表达式
**乘方(指数)
+x-x~x正,负,按位非 NOT
*@///%乘,矩阵乘,除,整除,取余
+-加和减
&lt;&lt;&gt;&gt;移位
&按位与 AND
^按位异或 XOR
|按位或 OR
`in`,`not in`, `is`,`is not`, `&lt;`, `&lt;=`, `&gt;`, `&gt;=`, `!=`, `==`比较运算,包括成员检测和标识号检测
`not x`逻辑非 NOT
`and`逻辑与 AND
`or`逻辑或 OR
`if` -- `else`条件表达式
`lambda`lambda 表达式
:=赋值表达式

8.字符串定义与格式化

1.字符串定义方式

  1. 单引号定义 name = '单引号定义'
  2. 双引号定义 name = '单引号定义'
  3. 三引号定义 name = '''单引号定义'''
    • 三引号可以

2.字符串拼接

+号拼接

3.字符串格式化

% 表示:占位置 s 表示:字符串 f 表示:浮点数 d 表示:整数 例如:

python
country = "中国"  
person_num = 14  
avg_salary = 1500.00  
message = "%s%d人,平均工资%f" % (country, person_num, avg_salary)  
print(message)

4.格式化精度控制

m.n均可以省略 例如: %.2f :表示只限制小数精度2位数,不管整数部分

5.快速格式化

==缺陷== 不限制数据类型 不做进度控制

==语法==:f"内容&#123;变量&#125;" ==例子==:

python
school = "sdu"  
stu_num = 10000  
area = 1234.56789  
print(f"&#123;school&#125;有&#123;stu_num&#125;名学生,占地面积&#123;area&#125;")

6.对表达式格式化

表达式:一条具有明确执行结果的代码语句

python
expression = f"&#123;school&#125;有&#123;stu_num&#125;名学生,占地面积&#123;area&#125;"  
print(expression)

9.数据输入输出

输出:print(提示语句)--------->输入都视为字符串

python
name = input("请告诉我你是谁")  
print("我是%s" % name)

print语句不换行:在print语句后面加上end='' 例如

print("Hellow", end='')

输入:input()

评论区

欢迎留言、补充或勘误。

xiaoba.blog