学了 Python 但又感觉没学 Python 不如重学 Python - day2(基础内置函数与变量引用的详细理解)

目录

1、int 函数

2、 bin、oct、hex 函数

3、 type 函数

4、complex 函数

5、布尔运算

6、chr 与 ord 函数

7、max 与 min 函数

8、eval 函数

9、变量对象引用

10、对象的垃圾回收

11、变量命名规则

12、 序列赋值

13、增强赋值


1、int 函数

按 n 进制将整数字符串转换为对应的整数

print(int('111'))  # 默认按十进制转换
print(int('111', 2))  # 按二进制转换
print(int('111', 16))  # 按十六进制转换

注意:第一个参数只能是整数字符串,可以有正负号,但不能有小数点或字母或其他符号 

2、 bin、oct、hex 函数

python 提供内置函数 bin()、oct()、hex() 用于将整数转换为对应进制的字符串

print(bin(30))  # 转换为二进制字符串
print(oct(30))  # 转换为八进制字符串
print(hex(30))  # 转换为十六进制字符串

二进制:以 0b 或 0B 开头 

八进制:以 0o 或 0O 开头 

二进制:以 0x 或 0X开头 

 

3、 type 函数

使用 type 函数查看数据类型

print(type(123))
print(type(123.0))
print(type('123'))

 

4、complex 函数

使用 complex 函数创建复数

print(complex(3, 4))
print(type(complex(3, 4)))

5、布尔运算

逻辑假:None、False、各种类型的 0 、空序列、空映射

除上述情况其余均为逻辑真

逻辑非:not

逻辑与:and

逻辑或:or

6、chr 与 ord 函数

chr 函数:返回整数对应的 ASCII 码的字符

ord 函数:返回字符的 ASCII 码对应的整数

print(chr(65))
print(ord('A'))

7、max 与 min 函数

返回最大值和最小值

print(max(1, 5, 9, 3, 2))
print(min(1, 5, 9, 3, 2))

8、eval 函数

eval 函数用来执行一个字符串表达式,并返回表达式的值。

x = 3
print(eval('4*x'))

9、变量对象引用

在 Python 中,所有的数据都是以对象的方式存在。

假设我们执行如下的赋值语句:

x = 5 

python 的执行过程包含三个步骤:

(1)创建表示整数 5 的对象;

(2)检查变量 x 是否存在,若不存在则创建它; 

(3)建立变量 x 到对象 5 的引用。

为了便于大家理解,我给大家画了个示意图:

在内存中,引用的实质就是指针。

在 Python 中使用变量时,我们需要理解:

(1)变量在第一次赋值时被创建,再次出现时直接使用;

(2)变量没有数据类型的概念,数据类型属于对象,类型决定了对象在内存中的存储方式;

(3)变量引用了对象,当在表达式中使用变量时,变量立即被其引用的对象替代,因此变量在使用前必须先为其赋值。

判断两个变量是否引用了同一个对象可以使用操作符 is

a = 6
b = 6
print(a is b)
b = 7
print(a is b)

 

10、对象的垃圾回收

当对象没有任何引用时,其占用的内存空间会自动被回收。

说简单的,我们给 x 赋了个 1 的值,此时对象是 1 ,当我们后面给 x 赋值为 2 了,那么对象 1 就没有引用了,占用的内存空间也就会被自动回收,这种回收机制在我们编程时是不需要考虑的。

11、变量命名规则

必须以下划线或字母开头,后面接下划线、字母或数字;

Python 支持 Unicode 字符,所以汉字等各种非英文字符也可以作为变量名;

变量名区分大小写;

禁止使用 Python 保留字(关键字)。

说实话这个汉字作为变量名我之前真不知道,但是它确实可以:

_你好 = 666
print(_你好)

12、 序列赋值

序列赋值:在 = 左侧是元组、列表表示的多个变量名,右侧是元组、列表或字符串序列表示的值,序列赋值可以一次性为多个变量赋值,顺序匹配变量名和值。

x, y = 1, 2  # 使用省略圆括号的元组赋值
print(x, y)
(x, y) = (3, 4)  # 使用元组赋值
print(x, y)
[x, y] = [5, '666']  # 使用列表赋值
print(x, y)

13、增强赋值

这个其实就是一种编写习惯,将运算符与赋值相结合的赋值语句。

看个简单例子,这里以加法为例:

x = 3
x += 1
print(x)

x += 1 其实就等价于 x = x+1 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/540304.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mac删除带锁标识的app

一 、我们这里要删除FortiClient.app 带锁 常规方式删除不掉带锁的 app【如下图】 二、删除命令,依次执行即可。 /bin/ls -dleO /Applications/FortiClient.app sudo /usr/bin/chflags -R noschg /Applications/FortiClient.app /bin/ls -dleO /Applications/Forti…

【漏洞复现】畅捷通T+ GetStoreWarehouseByStore接口处存在反序列化RCE漏洞

免责声明:文章来源互联网收集整理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该…

Python电梯楼层数字识别

程序示例精选 Python电梯楼层数字识别 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《Python电梯楼层数字识别》编写代码,代码整洁,规则,易读。 学习与应…

ModStartBlog v9.1.0 桌面快捷应用,图片上传前端压缩

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 …

企业为什么需要内容管理平台?应该如何搭建?

企业进行内容管理在提升员工工作效率、促进知识共享、优化业务流程、支持数字化转型和创新以及增强企业竞争力等方面发挥着重要作用。因此,对于希望在现代商业环境中保持竞争力的企业来说,建立和维护一个高效的内容管理平台是非常必要的。 | 企业搭建内容…

【计算机网络】1.5 分组交换网中的时延、丢包和吞吐量

A.分组交换网中的时延 当分组从一个节点沿着路径到后一节点时,该分组在沿途的各个节点经受了几种不同类型的时延。 时延的类型 处理时延 - d n o d a l d_{nodal} dnodal​ 处理时延包括以下部分—— a. 检查分组首部 b. 决定分组导向 排队时延 - d p r o c d_{…

亚信安慧AntDB数据库分布式架构剖析之snapshot receiver进程

本文主要介绍亚信安慧AntDB数据库的分布式架构下的特有进程之snapshot receiver的设计,这也是分布式架构的核心进程之一。 进程简介 该进程的作用从逻辑上解释包含两个方面: 同步快照,并且是作为通信的client端存在 同步事务号,…

循环购模式玩法,贡献值能量值助力可持续发展

​小编介绍:10年专注商业模式设计及软件开发,擅长企业生态商业模式,商业零售会员增长裂变模式策划、商业闭环模式设计及方案落地;扶持10余个电商平台做到营收过千万,数百个平台达到百万会员,欢迎咨询。 循…

EPSON 精致小巧的32.768KHz晶振广泛用于时钟模块

32.768K晶振在电子主板PCB随处可见,32.768K晶振负责为各种计算机,控制器,微处理器等提供高精度的时钟频率,而在这些晶振中,32.768KHz贴片时钟晶振特别重要,因为它不仅被广泛应用于电子设备中,而且还有着小巧,低功耗的优点,32.768KHz贴片时钟晶振在现代电子设备中应用广泛,如计算…

el-table的border属性失效问题解决方案

目录 问题: 使用的代码: 官方文档的说明: 可能的问题所在: 关于使用了作用域插槽: a.自定义内容的样式覆盖: b.表格结构的改变: 解决方案: 通过css样式解决: 下面…

[江苏工匠杯]easyphp

先看源码 <?php highlight_file(__FILE__); $key1 0; $key2 0; ​ $a $_GET[a]; $b $_GET[b]; ​ if(isset($a) && intval($a) > 6000000 && strlen($a) < 3){if(isset($b) && 8b184b substr(md5($b),-6,6)){$key1 1;}else{die("…

C语言中大小写字母如何转化

&#x1f31f; 前言 欢迎来到我的技术小宇宙&#xff01;&#x1f30c; 这里不仅是我记录技术点滴的后花园&#xff0c;也是我分享学习心得和项目经验的乐园。&#x1f4da; 无论你是技术小白还是资深大牛&#xff0c;这里总有一些内容能触动你的好奇心。&#x1f50d; &#x…