Python学习

class MyClass:def __init__(self):print("Constructor called.")def __str__(self):return "MyClass instance"obj = MyClass()print(obj)  # 调用__str__方法

在Python中,__str__是一个特殊的方法,当你使用print()函数打印一个对象时,Python会自动调用这个对象的__str__方法来获取一个字符串表示。如果一个类定义了__str__方法,那么当你打印这个类的实例时,就会输出这个方法返回的字符串。

在你提供的代码中,MyClass类定义了一个__str__方法,这个方法返回一个字符串"MyClass instance"。当你创建了一个MyClass的实例obj并打印它时,Python会调用这个__str__方法,所以输出将会是:

2.多行操作

item_one=1
item_two=2
item_three=3total=item_one+\item_two+\item_threeprint (total)

3. 换行输出

#!/usr/bin/python
# -*- coding: UTF-8 -*-x="a"
y="b"
# 换行输出
print (x)
print (y)#p3 输出 , p逗号表示不换行,p3 end=''
print ('---------',end='')
# 不换行输出
print (x,end='')
print (y,end='')# 不换行输出
print (x+y)

4

➜  PythonGuide python -h      
usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...
Options (and corresponding environment variables):
-b     : issue warnings about converting bytes/bytearray to str and comparingbytes/bytearray with str or bytes with int. (-bb: issue errors)
-B     : don't write .pyc files on import; also PYTHONDONTWRITEBYTECODE=x
-c cmd : program passed in as string (terminates option list)
-d     : turn on parser debugging output (for experts only, only works ondebug builds); also PYTHONDEBUG=x
-E     : ignore PYTHON* environment variables (such as PYTHONPATH)
-h     : print this help message and exit (also -? or --help)
-i     : inspect interactively after running script; forces a prompt evenif stdin does not appear to be a terminal; also PYTHONINSPECT=x
-I     : isolate Python from the user's environment (implies -E and -s)
-m mod : run library module as a script (terminates option list)
-O     : remove assert and __debug__-dependent statements; add .opt-1 before.pyc extension; also PYTHONOPTIMIZE=x
-OO    : do -O changes and also discard docstrings; add .opt-2 before.pyc extension
-P     : don't prepend a potentially unsafe path to sys.path; alsoPYTHONSAFEPATH
-q     : don't print version and copyright messages on interactive startup
-s     : don't add user site directory to sys.path; also PYTHONNOUSERSITE=x
-S     : don't imply 'import site' on initialization
-u     : force the stdout and stderr streams to be unbuffered;this option has no effect on stdin; also PYTHONUNBUFFERED=x
-v     : verbose (trace import statements); also PYTHONVERBOSE=xcan be supplied multiple times to increase verbosity
-V     : print the Python version number and exit (also --version)when given twice, print more information about the build
-W arg : warning control; arg is action:message:category:module:linenoalso PYTHONWARNINGS=arg
-x     : skip first line of source, allowing use of non-Unix forms of #!cmd
-X opt : set implementation-specific option
--check-hash-based-pycs always|default|never:control how Python invalidates hash-based .pyc files
--help-env: print help about Python environment variables and exit
--help-xoptions: print help about implementation-specific -X options and exit
--help-all: print complete help information and exitArguments:
file   : program read from script file
-      : program read from stdin (default; interactive mode if a tty)
arg ...: arguments passed to program in sys.argv[1:]
➜  PythonGuide python -c "print('Hello, World!')"
Hello, World!
➜  PythonGuide 
  • usage: python [option] ... [-c cmd | -m mod | file | -] [arg] ...:这一行说明了 Python 解释器的基本用法,它可以接受一系列的选项(option)和参数(arg)。选项前面有一个破折号(-),参数则直接跟在选项后面或者在文件名(file)后面。

  • -c cmd:表示可以将一个 Python 代码字符串作为命令行参数传递给解释器执行。例如:python -c "print('Hello, World!')"

  • -d:启用调试输出模式,这有助于开发者查看解析器的内部工作过程。

  • -E:忽略环境变量,例如 PYTHONPATH。这意味着 Python 解释器将不会使用任何环境变量来查找模块或文件。

  • -h:打印帮助信息并退出。这是最常用的选项之一,当你需要了解如何使用 Python 解释器时,可以使用这个选项。

帮助信息的最后还提到了其他一些选项,如 -i(在执行脚本后进入交互模式)、-v(输出详细信息)等。这些选项可以根据需要组合使用,以满足不同的编程需求。

例如,如果你想执行一个 Python 脚本并且忽略任何环境变量的影响,你可以这样输入:

shellscript

  • Run

python -E my_script.py

这段帮助信息对于初学者和有经验的开发者都非常有用,它提供了一个快速参考,帮助你了解如何正确地使用 Python 解释器。

5. 字典

#!/usr/bin/python
# -*- coding: UTF-8 -*-dict = {}
dict['one'] = "This is one"
dict[2] = "This is two"tinydict = {'name': 'runoob','code':6734, 'dept': 'sales'}print dict['one']          # 输出键为'one' 的值
print dict[2]              # 输出键为 2 的值
print tinydict             # 输出完整的字典
print tinydict.keys()      # 输出所有键
print tinydict.values()    # 输出所有值

6.

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

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

函数描述

int(x [,base])

将x转换为一个整数

long(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)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

7.

//取整除 - 返回商的整数部分(向下取整

>>> 9//2
4
>>> -9//2
-5
# 修改变量 a 、b 、c
a = 2
b = 3
c = a**b 
print "6 - c 的值为:", ca = 10
b = 5
c = a//b 
print "7 - c 的值为:", c

8.

Python位运算符

按位运算符是把数字看作二进制来进行计算的。Python中的按位运算法则如下:

下表中变量 a 为 60,b 为 13,二进制格式如下:

a = 0011 1100b = 0000 1101-----------------a&b = 0000 1100a|b = 0011 1101a^b = 0011 0001~a  = 1100 0011

Python逻辑运算符

if not( a and b ): print "5 - 变量 a 和 b 都为 False,或其中一个变量为 False" else: print "5 - 变量 a 和 b 都为 True"

Python成员运算符

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 10
b = 20
list = [1, 2, 3, 4, 5 ];if ( a in list ):print "1 - 变量 a 在给定的列表中 list 中"
else:print "1 - 变量 a 不在给定的列表中 list 中"if ( b not in list ):print "2 - 变量 b 不在给定的列表中 list 中"
else:print "2 - 变量 b 在给定的列表中 list 中"# 修改变量 a 的值
a = 2
if ( a in list ):print "3 - 变量 a 在给定的列表中 list 中"
else:print "3 - 变量 a 不在给定的列表中 list 中"

Python身份运算符

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

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

#!/usr/bin/python
# -*- coding: UTF-8 -*-a = 20
b = 20if ( a is b ):print "1 - a 和 b 有相同的标识"
else:print "1 - a 和 b 没有相同的标识"if ( a is not b ):print "2 - a 和 b 没有相同的标识"
else:print "2 - a 和 b 有相同的标识"# 修改变量 b 的值
b = 30
if ( a is b ):print "3 - a 和 b 有相同的标识"
else:print "3 - a 和 b 没有相同的标识"if ( a is not b ):print "4 - a 和 b 没有相同的标识"
else:print "4 - a 和 b 有相同的标识"

why

在Python中,is==是两种不同的比较操作符。

  • is操作符用于比较两个对象的身份(即它们是否是同一个对象)。如果两个对象是同一个对象,那么is操作符返回True,否则返回False
  • ==操作符用于比较两个对象的值(即它们是否包含相同的数据)。如果两个对象的值相等,那么==操作符返回True,否则返回False

在你的例子中:

  • b = a 使得ba指向同一个列表对象,所以b is a返回True,并且b == a也返回True
  • b = a[:] 创建了一个新的列表对象b,它包含与a相同的元素,但它们是不同的对象。所b is a返回False,但是b == a仍然返回True,因为它们包含相同的值。

总结一下,is比较的是对象的身份,而==比较的是对象的值。在Python中,理解这两个操作符的区别是非常重要的

简单的语句组

实例

#!/usr/bin/python # -*- coding: UTF-8 -*- var = 100 if ( var == 100 ) : print "变量 var 的值为100" print "Good bye!"

以上代码执行输出结果如下:

变量 var 的值为100
Good bye!

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

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

相关文章

vueDevtools和文档整合(前端常用工具/插件)

3.vueDevtools安装 chrome插件vue-devtools下载地址: https://chrome.zzzmh.cn/info/nhdogjmejiglipccpnnnanhbledajbpd下载完放到chrome的拓展程序中即可,注意点:vue2和vue3下载版本不同,vue2的话使用稍微老点的版本才行。 详细…

dify.ai 配置链接到阿里云百练等云厂商的 DeepSeek 模型

要将 dify.ai 配置链接到阿里云百练等云厂商的 DeepSeek 模型. 申请阿里云百练的KEY 添加模型 测试模型

将Sqlite3数据库挂在内存上处理

创作灵感:最近把小学生的口算题从2位数改到3位数,100以内四则运算练习(千纬数学)再次更新,选取难题-CSDN博客要不断刷题目,以前100以内的加减乘除也是这样刷出来的,代码如下: impor…

【第1章:深度学习概览——1.1 深度学习的历史背景与发展轨迹】

你可能不知道,现在能自动给照片上色、帮医生看CT片、甚至写诗作曲的AI技术,其实早在二战时期就埋下了种子。这段故事里充满了天才的灵光乍现、整个行业的集体打脸、以及无数个"山穷水尽疑无路,柳暗花明又一村"的神转折。系好安全带,我们要从1943年的脑科学实验室…

九.Spring Boot使用 ShardingSphere + MyBatis + Druid 进行分库分表

文章目录 前言一、引入依赖二、创建一个light-db_1备用数据库三、配置文件 application-dev.yml四、创建shardingsphere-config.yml完整项目结构 五、测试总结 前言 在现代化微服务架构中,随着数据量的不断增长,单一数据库已难以满足高可用性、扩展性和…

XSS 常用标签及绕过姿势总结

XSS 常用标签及绕过姿势总结 一、xss 常见标签语句 0x01. 标签 <a href"javascript:alert(1)">test</a> <a href"x" onfocus"alert(xss);" autofocus"">xss</a> <a href"x" onclickeval(&quo…

Ubuntu20.04上搭建nginx正向代理提供上网服务

背景&#xff1a;公司很多电脑因软件管控问题不得不禁止设备上网&#xff0c;现需搭建上网代理服务器提供给这些用户使用。 操作系统&#xff1a;ubuntu20.04 工具&#xff1a;nginx-1.25.4 1、下载nginx安装包及依赖 由于nginx默认只持支持转发http协议&#xff0c;所以如…

deepseek的CoT优势、两阶段训练的有效性学习笔记

文章目录 1 DeepSeek的CoT思维链的优势1.2 open-r1的CoT训练数据1.3 ReAct任务与CoT任务适用场景 2 AI推理方向&#xff1a;deepseek与deepmind的两条路线的差异2.1 PRM与ORM的两大学派分支的差异2.2 DeepSeek-R1的两阶段训练概述 1 DeepSeek的CoT思维链的优势 DeepSeek跟之前…

DeepSeek批量生成全平台推广营销内容:高效提升营销效率

在这个信息爆炸的时代&#xff0c;内容营销的重要性不言而喻。无论是企业的官方网站、社交媒体账号&#xff0c;还是电商平台&#xff0c;都需要源源不断的高质量内容来吸引和留住用户。面对多平台发布的需求&#xff0c;人工撰写内容不仅耗时耗力&#xff0c;还容易出现内容质…

win11 终端乱码导致IDE 各种输出也乱码

因为 win11 终端乱码导致IDE 各种输出也乱码导致作者对此十分头大。所以研究了各种方法。 单独设置终端编码对 HKEY_CURRENT_USER\Console 注册表进行修改对 HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processo 注册表进行修改使用命令[Console]::OutputEncoding [Syst…

字节Trae初使用感想

前言 大环境不好&#xff0c;公司为了降本增效。研发部门全员拥抱AI&#xff0c;前后端都要用起来。回归开发本源&#xff0c;前后端一个人做。 也不知道知道是哪位领导选型的&#xff0c;选的cursor&#xff0c;但是我不分享它&#xff0c;我分享Trae的初之验。也许是选curs…

笔记6——字典dict(dictionary)

文章目录 字典dict(dictionary)定义特点常用操作1.访问值2.添加键值对3.修改值4.删除键值对5.遍历字典6.合并字典 性能应用场景dict和list的区别 字典dict(dictionary) 以 键 - 值对 (key - value pairs)的形式存储数据 定义 字典使用花括号 {} 来定义&#xff0c;键和值之…

编译和链接【四】链接详解

文章目录 编译和链接【四】链接详解前言系列文章入口符号表和重定位表链接过程分段组装符号决议重定位 编译和链接【四】链接详解 前言 在我大一的时候&#xff0c; 我使用VC6.0对C语言程序进行编译链接和运行 &#xff0c; 然后我接触了VS&#xff0c; Qt creator等众多IDE&…

低空经济:开启未来空中生活的全新蓝海

引言 随着科技的进步&#xff0c;我们不再仅仅依赖地面交通和传统物流。你是否曾幻想过&#xff0c;未来的某一天&#xff0c;快递、外卖可以像魔法一样直接从空中送到你手中&#xff1f;或者&#xff0c;你能乘坐小型飞行器&#xff0c;快速穿梭于城市之间&#xff0c;告别拥堵…

IntegrAO整合不完整数据以实现患者分层

高通量组学分析技术的进步极大地推动了癌症患者的分层研究。然而&#xff0c;多组学整合中的数据不完整问题带来了巨大挑战&#xff0c;因为像样本排除或插补这样的传统方法常常会损害真实生物多样性。此外&#xff0c;将具有部分组学数据的新患者准确分类到现有亚型这一关键任…

[创业之路-299]:图解金融体系结构

一、金融体系结构 1.1 概述 金融体系结构是一个国家以行政的、法律的形式和运用经济规律确定的金融系统结构&#xff0c;以及构成这个系统的各种类型的银行和非银行金融机构的职能作用和相互关系。以下是对金融体系结构的详细分析&#xff1a; 1、金融体系的构成要素 现代金…

#渗透测试#批量漏洞挖掘#致远互联AnalyticsCloud 分析云 任意文件读取

免责声明 本教程仅为合法的教学目的而准备&#xff0c;严禁用于任何形式的违法犯罪活动及其他商业行为&#xff0c;在使用本教程前&#xff0c;您应确保该行为符合当地的法律法规&#xff0c;继续阅读即表示您需自行承担所有操作的后果&#xff0c;如有异议&#xff0c;请立即停…

el-table封装一个自定义列配置表格组件(vue3开箱即用)

组件核心功能 拖拽排序&#xff08;使用 vuedraggable&#xff09; 显示/隐藏控制 列宽调整 列固定状态记忆 搜索过滤列 本地存储&#xff08;localStorage&#xff09;可改成接口保存 默认配置恢复 通过 searchText 动态过滤列。 安装拖拽依赖 npm install vuedragg…

关于qtcreator的安装过程遇到的问题和处理方法

打算开发个对windows兼容性好的软件&#xff0c;最终决定用c语言&#xff0c;后来选择了qt&#xff0c;发现qt有个不错的东西qt quick&#xff0c;界面图形效果表现的不错&#xff0c;还能做动画&#xff0c;甚至可以做成游戏。 于是打算安装这个软件&#xff0c;软件虽然开源…

一文通俗理解为什么需要泛型以及泛型的使用

为什么需要泛型&#xff1f; public static void main(String[] args) {ArrayList list new ArrayList();// 由于集合没有做任何限定&#xff0c;任何类型都可以给其中存放list.add("abc");list.add("def");list.add(5);Iterator it list.iterator();wh…