有趣的python

栏目: Python · 发布时间: 7年前

内容简介:​​参数类型是可选的,一般不需要加
r = [x*x for x in range(1, 11)]
print(r)	# 输出:[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

在Haskell中称为 List comprehension 的,写法与其类似:
[x*x | x <- [1..10]]

类型是小写的

# str即是表示字符串类型
def myFunc(s: str):
    # some code

参数类型是可选的,一般不需要加

与、或操作符,是用and、or来表示的

b1 = True
b2 = False
o1 = b1 and b2	# False
o2 = b1 or b2	# True

可以执行字符串

exec("print('Hello World')")	# 输出:Hello World

类似js中的 eval

列表可以从后面来访问

lst = [1, 2, 3]
print(lst[-1])	# 输出3, 也要注意不能越界

支持lambda表达式

lambda r, v : r + v

简单的交换变量的方式

x, y = y, x

类似swift的写法,本质都是利用元组来交换:
(x, y) = (y, x)

for-else结构

lst = [1, 3, 5, 7, 9, 13, 19]
for i in lst:
    if i % 2 == 0:
        print("找到了偶数")
        break
else:
    print("没有找到偶数")		# 输出:没有找到偶数

成员变量要在__init__里面指定,在方法外定义的是类属性

class Student(object):
    count = 0
    def __init__(self, name, score):
        self.name = name
        self.score = score
        Student.count += 1

m = Student("MMMM", 80)
print(Student.count)	# 1
print(m.name)	# MMMM

私有变量通过名字来限定

通过在名字前加双下划线,来表示是私有变量。

class Student(object):
    def __init__(self, name, score):
        self.__name = name
        self.__score = score

s = Student("Matthew", 60)
print(s.__name)	# 'Student' object has no attribute '__name'

类可以动态的增、删成员变量

class Student(object):
    pass

o = Student()
o.name = "Matthew"
print(o.name)	# 输出: Matthew

del o.name
print(o.name)	# 'Student' object has no attribute 'name'

js也有这个能力

调用不存在的属性,可以被开发者接管

class Student(object):
    def __getattr__(self, attr):
        if attr == 'name':
            return "Good"

o = Student()
print(o.name)	# 输出:Good

跟OC的转发找不到的方法非常像。包括 __str__ 方法,也非常类似OC中的 description ,来实现自定义打印内容

可以通过代码来设置断点

pdb.set_trace()

有点类似js的 debugger 语句


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Python for Data Analysis

Python for Data Analysis

Wes McKinney / O'Reilly Media / 2012-11-1 / USD 39.99

Finding great data analysts is difficult. Despite the explosive growth of data in industries ranging from manufacturing and retail to high technology, finance, and healthcare, learning and accessing d......一起来看看 《Python for Data Analysis》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具