[pyhon]人生苦短,我用python

博客主要围绕Python展开,涉及输入、字符串逆转、List操作,指出Python字符串无法原地修改,与C/C++不同。还探讨了List底层实现,最后进行了积分计算,输出了积分结果为分数。
部署运行你感兴趣的模型镜像

1、输入

'''按照空格分开,等同于list,每个元素类型默认str'''
a = input().split()

'''输入n, 然后输入n个数字'''
n = input().split()
a = [int(i) for i in input().split()]

2、字符串逆转

'''reverse 为 string 的逆转'''
reverse = string[::-1]
'''时间复杂度为O(1)'''

3、List

'''-----------------------------------------------------------------------------'''
numbers.sort()
numbers.count(1)
'''-----------------------------------------------------------------------------'''
'''倒序,从n到0倒序遍历,两个-1'''
range(n, -1, -1) 
'''-----------------------------------------------------------------------------'''
lis = [1,2,3]
lis = lis[::-1] '''[3,2,1]'''
'''-----------------------------------------------------------------------------'''
'''[[3,4],[1,4],[2,4],[3,3]],按照第一个值排序,相同的话,第二小的在前面'''
lis = [[3,4],[1,4],[2,4],[3,3]]
lis= sorted(lis,key=lambda x: (x[0], x[1])) '''结果为[[1,4],[2,4],[3,3],[3,4]]'''
'''-----------------------------------------------------------------------------'''
'''list实现转置,虽然numpy.array(list_a).T 一句即可实现'''
lis = [[row[i] for row in grid] for i in range(len(grid[0]))]
'''-----------------------------------------------------------------------------'''

4、最大最小值

import sys
maxn1, maxn2 = sys.maxsize, float('inf')
minn1, minn2 = sys.minsize, -float('inf')

5、python字符串无法原地修改
可以赋值,但是无法像c\c++那样原地指针修改

t = "abcd"
t[2] = 'd'
运行是不成功的~
string t = "abcd";
t[2] = 'd';
运行OK的

6、list的底层实现是什么呢?

7、计算了一个积分,居然可以输出分数!!!
计算∫12x dx\int_1^2 {x} \,{\rm d}x12xdx的值

from sympy import *
print(integrate(x, (x, 1, 2))

您可能感兴趣的与本文相关的镜像

Python3.8

Python3.8

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

<think>嗯,用户问的是Linux下pythonpython3的区别以及使用场景。之前他遇到了Python命令未找到的问题,我之前的回答主要解决安装和环境配置的问题,现在他想更深入理解这两个命令的不同。 首先,我需要回忆Linux系统中Python的版本情况。记得Python 2和3不兼容,所以很多系统同时安装了这两个版本,但默认的python命令可能指向Python 2,而python3指向Python 3。不过现在很多新系统可能已经将python默认指向3了,比如Ubuntu可能在某个版本之后做了调整。需要确认这一点,避免给出错误信息。 然后,用户可能遇到的情况是,输入python时可能启动的是Python 2,而python3才是Python 3。不过具体情况可能因发行版而异。比如,在较新的Ubuntu版本中,可能已经将python指向python3了,或者需要手动设置符号链接。 接下来,需要解释这两个命令的区别,包括默认版本、语法差异、包管理工具的不同,比如pip和pip3。此外,还要提到虚拟环境中的使用,以及如何通过update-alternatives管理多个版本。 使用场景方面,用户可能需要知道什么时候该用哪个版本。比如维护旧项目可能需要Python 2,但新项目肯定用Python 3。另外,系统脚本可能依赖特定的版本,所以需要注意兼容性。 还要考虑用户可能的后续问题,比如如何切换默认版本,或者如何处理依赖不同版本的项目。之前的回答提到了符号链接和虚拟环境,这里可以再强调一下。 另外,引用中的信息提到系统管理脚本的优势,可以结合这点说明Python 3在脚本编写中的好处。同时,引用中提到的环境搭建和部署问题,可能需要确保使用正确的Python版本以避免错误。 需要检查是否有遗漏点,比如PATH环境变量的影响,或者发行版特定的策略。例如,某些Linux发行版可能仍然保留pythonPython 2,而有些已经更新了。要提醒用户根据具体情况检查。 最后,确保回答结构清晰,分点说明区别和使用场景,并给出验证方法和建议。同时,生成的相关问题要引导用户进一步学习版本管理、虚拟环境等高级主题。</think>### Linux系统中`python`与`python3`的区别及使用场景 #### 一、核心区别 1. **默认版本指向** - `python`:传统上指向Python 2.x版本(如Python 2.7),但现代Linux发行版(如Ubuntu 20.04+)可能将其映射到Python 3.x[^1] - `python3`:明确指向Python 3.x版本(如Python 3.8/3.10) - 验证方法: ```bash python --version # 可能返回Python 2.x或3.x python3 --version # 必返回Python 3.x ``` 2. **语法兼容性** - Python 3.x:支持新特性(如类型注解、异步语法),但不再兼容Python 2.x ```python print("Hello") # Python3必须使用括号 x = b'bytes' # 明确的字节类型 ``` - Python 2.x:已停止维护(2020年),部分旧项目仍依赖 ```python print "Hello" # Python2允许无括号语法 x = 'bytes' # 默认字符串处理方式不同 ``` 3. **包管理工具** - `pip`通常对应Python 2.x,`pip3`对应Python 3.x - 现代系统中可通过`python -m pip`和`python3 -m pip`明确指定版本 #### 二、使用场景对比 | 场景 | `python`命令适用性 | `python3`命令适用性 | |---------------------|---------------------------|----------------------------| | 新项目开发 | ❌ 不推荐 | ✅ 必须使用(主流支持) | | 维护Python 2旧项目 | ✅ 必需 | ❌ 无法直接运行 | | 调用系统工具脚本 | ⚠️ 依发行版而定 | ✅ 推荐(现代系统默认) | | 安装第三方库 | `pip install package` | `pip3 install package` | | 虚拟环境创建 | `virtualenv venv` | `python3 -m venv venv` | #### 三、版本映射验证方法 1. **查看符号链接** ```bash ls -l /usr/bin/python* # 显示所有Python解释器链接 ``` 典型输出: ``` lrwxrwxrwx 1 root root 9 Apr 2020 /usr/bin/python -> python3.8 lrwxrwxrwx 1 root root 9 Apr 2020 /usr/bin/python3 -> python3.8 ``` 2. **多版本共存管理** - 使用`update-alternatives`设置默认版本: ```bash sudo update-alternatives --config python ``` - 临时指定版本: ```bash /usr/bin/python2.7 script.py # 显式调用特定版本 ``` #### 四、最佳实践建议 1. **新项目强制使用Python3** - 在脚本首行明确声明: ```python #!/usr/bin/env python3 ``` 2. **系统级脚本注意事项** - 修改默认Python版本可能破坏系统工具(如Ubuntu的apt依赖Python3)[^1] - 解决方案: ```bash # 仅修改用户级默认版本 alias python=python3 >> ~/.bashrc ``` 3. **虚拟环境隔离** - 推荐使用`venv`模块: ```bash python3 -m venv myenv source myenv/bin/activate ``` #### 五、典型问题示例 1. **执行历史脚本报错** ```bash python legacy_script.py # 报SyntaxError(Python3环境运行Python2代码) ``` **修复方案**: ```bash python2 legacy_script.py # 显式指定解释器 或 sed -i 's/print \(.*\)/print(\1)/' legacy_script.py # 修改语法 ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值