java中的接口是类吗
294
2022-06-10
python是一种简单易学且功能强大的编程语言,它具有口语化的变成方式,深受大家喜爱。随着人工智能的发展,python越来越受大家喜爱。在使用python编程的过程中我们总会遇到各种各样的问题,但是我们总会找到解决的方案的。例如下面的这个问题。以下是小编为你整理的python怎么自学
#后面的是注释,不参与运行的。这段代码会被解释器跳过,方便程序员理解程序。
python时候区分大小写的,运行了上面的程序以后,name就是一个变量了,
我们输入name,程序会输出name的值,但是输入Name,因为Name没有定义,
所以报错了。
>>> name
'henry'
>>> Name
Traceback (most recent call last):
File "", line 1, in
Name
NameError: name 'Name' is not defined
>>>
选择什么版本
首先下载安装python,建议安装2.7版本以上,3.0版本以下,由于3.0版本以上不向下兼容,体验较差。
打开文本编辑器,推荐editplus,notepad等,将文件保存成 .py格式,editplus和notepad支持识别python语法。
脚本第一行一定要写上 #!usr/bin/python
表示该脚本文件是可执行python脚本
如果您的python目录不在usr/bin目录下,则替换成当前python执行程序的目录
编写完脚本之后注意调试、可以直接用editplus调试。调试方法可自行百度。脚本写完之后,打开CMD命令行,前提是python 已经被加入到环境变量中,如果没有加入到环境变量,请百度
在CMD命令行中,输入 “python” + “空格”,即 ”python “;
将已经写好的脚本文件拖拽到当前光标位置,然后敲回车运行即可
__str__()方法
如果要把一个类的实例变成 str,就需要实现特殊方法__str__()。
Python 定义了__str__()和__repr__()两种方法,__str__()用于显示给用户,而__repr__()用于显示给开发人员。一般定义__repr__()的快捷办法是直接:
__repr__ = __str__
那么怎么定义__str__()呢?
Class Person(Object):
def __init__(self,name,gender):
self.name = name
self.gender = gender
def __str__(self):
return '(Person: %s, %s)' % (self.name, self.gender)
__repr__ = __str__
__cmp__()方法:
对 int、str 等内置数据类型排序时,Python的 sorted() 按照默认的比较函数 cmp 排序,但是,如果对一组 Student 类的实例排序时,就必须提供我们自己的特殊方法 __cmp__()。__cmp__用实例自身self和传入的实例进行比较,如果实例自身self 应该排在前面,就返回 -1,如果传入的实例应该排在前面,就返回1,如果两者相当,返回 0。
举例:
Class Student(Object):
def __init__(self,name,gender,score):
self.name = name
self.gender = gender
def __str__(self):
return '(Student: %s, %s, %s)' % (self.name, self.gender, self.score)
__repr__ = __str__
def __cmp__(self, s):
if self.name < s.name:
return -1
elif self.name > s.name:
return 1
else:
return 0
L = [Student('Tim', 99), Student('Bob', 88), Student('Alice', 77)]
print sorted(L)
注意:上面粗体部分也可以直接使用简写方式:
return cmp(self.name, s.name)
__len__()方法:
如果一个类表现得像一个list,要获取有多少个元素,就得用 len() 函数。
def __len__(self):
return len(self.names)
@property:Python内置的@property装饰器就是负责把一个方法变成属性调用的;
一个类实例也可以变成一个可调用对象,只需要实现一个特殊方法__call__()。
__slots__的目的是限制当前类所能拥有的属性
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~