分析Python中的变量、运算符和流程控制的例子。 您所在的位置:网站首页 python中formate 分析Python中的变量、运算符和流程控制的例子。

分析Python中的变量、运算符和流程控制的例子。

#分析Python中的变量、运算符和流程控制的例子。| 来源: 网络整理| 查看: 265

一、执行Python程序的两种方式1、交互式

在终端内输入“python3”,然后输入python代码

Python中的变量、运算符与流程控制实例分析

2、命令行式

在终端内输入“python3 文本文件路径”

Python中的变量、运算符与流程控制实例分析

二、变量1、变量的组成

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

等号(=)用来给变量赋值。

等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

变量名 = 变量值。

变量名是用来接收变量值的

name = 'nick' age = 19登录后复制2、变量名的定义规范

变量名具有某种意义

由数字/字母/下划线组成,且不能由数字和下划线开头

不能用Python关键字

['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try', 'while', 'with', 'yield']

3、定义变量的两种方式

驼峰体:NameOfNick

下划线:name_of_nick(推荐)

4、常量

常量是约定俗成的一种规范,常量名的定义方式为全大写。实际上可以被修改。

AGE_OF_NICK = 19 print(AGE_OF_NICK)登录后复制三、Python变量内存管理1、引用计数

变量值的引用次数

x = 257 # 257的引用计数为1 y = x # 257的引用计数为2 del x # 257的引用计数为1登录后复制2、垃圾回收机制

当变量值的引用计数为0的时候,该变量值会被Python自动回收它的内存占用

3、小整数池

[-5,256]之间的整数会在Python解释器启动的时候,自动开辟一块内存存入这些整数.也就是说这些小整数不会因为引用计数为0而被删除。

4、内存地址与数据类型

获取变量的id,可以理解成变量在内存中的地址 。

x = 10 print(x) # 获取变量的变量值 print(id(x) ) # 获取变量的id,可以理解成变量在内存中的地址 print(type(x) ) # 获取变量的数据类型,下章会详细介绍数据类型登录后复制

结果:

10 8790885504960 < class 'int'>

5、实例:

id相等的变量,值一定相等,因为指向的是同一个内存地址;

值相等的变量,id不一定相等。

x = 11 y = x z = 11 print(x == y) # True print(x is y) # True print(x is z) # True,整数池的原因 x = 255 z = 255 print(id(x) is id(z) ) # False登录后复制四、花式赋值1、 链式赋值

以下实例,创建一个整型对象,值为 10,从后向前赋值,三个变量被赋予相同的数值。

a = b = c = d = 10 print(f'a:{a}, b:{b}, c:{c}, d:{d}') #a:10, b:10, c:10, d:10登录后复制2、 交叉赋值# 交叉赋值 x = 10 y = 20 x, y = y, x print(x, y) #20 10 # 相当于使用临时变量 x = 10 y = 20 temp = x x = y y = temp print(x, y) #20 10登录后复制3、多个变量赋值

您也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2, "runoob"登录后复制

以上实例,两个整型对象 1 和 2 的分配给变量 a 和 b,字符串对象 "runoob" 分配给变量 c。

写一个斐波纳契数列 Fibonacci series:

# 两个元素的总和确定了下一个数 a, b = 0, 1 while b < 10: print(b, end=',') a, b = b, a+b # 1,1,2,3,5,8,登录后复制五、与用户交互name = input('请输入你的姓名:') pwd = input('请输入你的密码:') print(type(name)) print(type(pwd)) # 请输入你的姓名:a # 请输入你的密码:1 # # 'str'>登录后复制

无论我们输入的值是数字类型、字符串类型、列表类型,input的接收值都是字符串类型。

六、格式化输出1、 占位符(旧式字符串格式化,逐步淘汰)

%s:接收任意数据类型的数据

%d:接收数字类型的数据

name = 'nick' age = 19 print('my name is %s my age is %d' % (name, age)) # my name is nick my age is 19登录后复制2、 format格式化

{}:接收任意数据类型的数据。

1、格式:.format()name = 'nick' age = 19 #1、括号及其里面的字符 (称作格式化字段) 将会被 format() 中的参数替换。 print("Hello, {}. You are {}.".format(name, age)) # Hello, nick. You are 19. 2、在括号中的数字用于指向传入对象在 format() 中的位置 print("Hello, {1}. You are {0}-{0}.".format(age, name)) # Hello, nick. You are 19-19. 3、如果在 format() 中使用了关键字参数, 那么它们的值会指向使用该名字的参数。 print("Hello, {name}. You are {age}-{age}.".format(age=age, name=name))# Hello, nick. You are 19-19. 4、位置及关键字参数可以任意的结合: print('站点列表 {0}, {1}, 和 {other}。'.format('Google', 'Runoob', other='Taobao'))登录后复制2、模板字符串中的格式控制标记

{ : }

:

引导

符号

填充的单个字符: 右对齐 ^: 居中对齐槽设定的输出宽度数字的千位分隔符

浮点数小数

或 字符串最大输出长度

整数类型 :b(二进制),c,d,o,x,X

浮点数类型:e,E,f,%(百分数)

3、python字符串格式化符号:

%c: 格式化字符及其ASCII码

%s: 格式化字符串

%d: 格式化整数

%u: 格式化无符号整型

%o: 格式化无符号八进制数

%x: 格式化无符号十六进制数

%X: 格式化无符号十六进制数(大写)

%f: 格式化浮点数,可指定小数点后的精度

%e: 用科学计数法格式化浮点数

%E: 作用同%e,用科学计数法格式化浮点数(大写)

%g: %f和%e的简写

%G: %f 和 %E 的简写

%p: 用十六进制数格式化变量的地址

print("{0: =^20 }".format("PYTHON")) # '=======PYTHON=======' 使用等号,居中对齐 print("{0: *>20 }".format("BIT")) # '*****************BIT' 使用星号,文字右对齐 print("{:10}".format("BIT")) # 'BIT ' 总长度为10,不足以空格补足。在:后传入一个整数, 可以保证该域至少有这么多的宽度。 用于美化表格时很有用。 print("{0: ,.2f}".format(12345.6789)) # '12,345.68' 使用千分符,同时保留到小数点后两位 print("{0:b},{0:c},{0:d},{0:o},{0:x},{0:X}".format(425)) # '110101001,Ʃ,425,651,1a9,1A9' print("{0:e},{0:E},{0:f},{0:%}".format(3.14)) # '3.140000e+00,3.140000E+00,3.140000,314.000000%'登录后复制

可以使用 bin,oct,hex 可输出数字的二进制,八进制,十六进制形式,例如:

a = 0b111100 print(bin(a)) # '0b111100' print(oct(a)) # '0o74' print(hex(a)) # '0x3c'登录后复制4、字段格式化

字典, 然后使用方括号 [] 来访问键值 :

table = {'Google': 1, 'Runoob': 2, 'Taobao': 3} print('{0[Runoob]:d}; {0[Google]:d}; {0[Taobao]:d}'.format(table)) # 2; 1; 3登录后复制

也可以通过在 table 变量前使用 ** 来实现相同的功能:

table = {'Google': 1, 'Runoob': 2, 'Taobao': 3} print('{Runoob:d}; {Google:d}; {Taobao:d}'.format(**table)) # 2; 1; 3登录后复制3、 f-string字面量格式化

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

在字符串前面加上f或F,后面跟着字符串,字符串中的表达式用大括号 {} 包起来,它会将变量或表达式计算后的值替换进去。

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

name = "nick" age = 19 print(F"Hello, {name}. You are {age}.")#Hello, nick. You are 19. print(f'{age*2}')#38 salary = 6.6666 print(f'{salary:.2f}')#6.67 w = {'name': 'Runoob', 'url': 'www.runoob.com'} print(f'{w["name"]}: {w["url"]}') # 'Runoob: www.runoob.com'登录后复制

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

x = 1 print(f'{x+1}') # Python 3.6 # 2 x = 1 print(f'{x+1=}') # Python 3.8 # 'x+1=2'登录后复制七、基本运算符1、 算术运算符

+、 - 、* 、/ 、 //、 % 、**

# 除 print(10 / 3) # 3.3333333333333335 # 除,只取整数部分 print(10 // 3) # 3 print(10 // 4) # 2 # %:取余 print(10 % 3) # 1 # **,幂 print(10 ** 3) # 1000登录后复制2、 逻辑运算符(运算符中优先级最低,即最后运算)

and、 or、 not 。

优先级:not>and>or

# 从左到右的方式找到逻辑运算符,找到逻辑运算符的左边,左边成立,再去找到逻辑运算符的右边 print(3 > 3 and 1 > 2 or 2 > 1) # False登录后复制3、 比较运算符

>、 >=、



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有