int('3') # 3
str(3.14) # '3.14'
float('3.14') # 3.14
# 区别于 JS 只有 Number 一种类型,Python 中数字中的不同类型也能相互强制转换
float(3) # 3.0
bool(3) # True
bool(0) # False
1 + 1.0 # 2.0 1 + False # 1 1.0 + True # 2.0 # 区别于 JS 的 String + Number = String, py 中 str + int 会报错 1 + '1' # TypeError: cannot concatenate 'str' and 'int' objects
type(1.3) == float # True
isinstance('a', str) # True
isinstance(1.3, int) # False
isinstance(True, bool) # True
isinstance([], list) # True
isinstance({}, dict) # True
L = [1, 2, 3] print L[-1] # '3' L.append(4) # 末尾添加元素 print L # [1, 2, 3, 4] L.insert(0, 'hi') # 指定索引位置添加元素 print L # ['hi', 1, 2, 3, 4] L.pop() # 末尾移除元素 L.pop(2) ?????? 2 ??? print L # ['hi', 1, 2, 3]
t = (1, 2, 3) print t[0] # 1 t[0] = 11 # TypeError: 'tuple' object does not support item assignment t = (1) print t # 1 t 的结果是整数 1 t = (1,) # 为了避免出现如上有歧义的单元素 tuple,所以 Python 规定,单元素 tuple 要多加一个逗号"," print t # (1,)
d = {
'a': 1,
'b': 2,
'c': 3
}
# 遍历 dict
for key,value in d.items():
print('%s: %s' % (key,value))
# a: 1
# c: 3
# b: 2
s = set(['A', 'B', 'C', 'C'])
print s # set(['A', 'C', 'B'])
s.add('D')
print s # set(['A', 'C', 'B', 'D'])
s.remove('D')
print s # set(['A', 'C', 'B'])
L = ['apple', 'banana', 'orange'] for index, name in enumerate(L): # enumerate() 函数把 ['apple', 'banana', 'orange'] 变成了类似 [(0, 'apple), (1, 'banana'), (2, 'orange')] 的形式 print index, '-', name # 0 - apple # 1 - banana # 2 - orange
d = { 'apple': 6, 'banana': 8, 'orange': 5 }
print d.values() # [6, 8, 5]
for v in d.values()
print v
# 6
# 8
# 5
d = { 'apple': 6, 'banana': 8, 'orange': 5 }
for key, value in d.items()
print key, ':', value
# apple : 6
# banana: 8
# orange: 5
L = ['apple', 'banana', 'orange', 'pear'] L[0:2] # ['apple', 'banana'] 取前 2 个元素 L[:2] # ['apple', 'banana'] 如果第一个索引是 0,可以省略 L[:] # ['apple', 'banana', 'orange', 'pear'] 只用一个 : ,表示从头到尾 L[::2] # ['apple', 'orange'] 第三个参数表示每 N 个取一个,这里表示从头开始,每 2 个元素取出一个来
L = [] for x in range(1, 11): L.append(x * x)
def greet(name='World'):
print 'Hello, ' + name + '.'
greet() # Hello, World.
greet('Python') # Hello, Python.
def fn(*args):
print args
fn() # ()
fn('a') # ('a',)
fn('a', 'b') # ('a', 'b')
def f(x): return x * x print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9]) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
def f(x, y): return x * y reduce(f, [1, 3, 5]) # 15
def is_odd(x): return x % 2 == 1 filter(is_odd, [1, 4, 6, 7, 9, 12, 17]) # [1, 7, 9, 17]
map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
def f(x): return x * x
# 希望一次返回3个函数,分别计算1x1,2x2,3x3:
def count():
fs = []
for i in range(1, 4):
def f():
return i * i
fs.append(f)
return fs
f1, f2, f3 = count() # 这种写法相当于 ES6 中的解构赋值
print f1(), f2(), f3() # 9 9 9
def count():
fs = []
for i in range(1, 4):
def f(j):
def g(): # 方法一
return j * j
return g
r = f(i)
fs.append(r)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3() # 1 4 9
def count():
fs = []
for i in range(1, 4):
def f(j = i): # 方法二
return j * j
fs.append(f)
return fs
f1, f2, f3 = count()
print f1(), f2(), f3() # 1 4 9
@Post('/rider/detail') // URL 路由
@log() // 打印日志
@ResponseBody
public async getRiderBasicInfo(
@RequestBody('riderId') riderId: number,
@RequestBody('cityId') cityId: number,
) {
const result = await this.riderManager.findDetail(cityId, riderId)
return result
}
# 我们想把调用的函数名字给打印出来
@log()
def factorial(n):
return reduce(lambda x,y: x*y, range(1, n+1))
print factorial(10)
# 来看看 @log() 的定义
def log():
def log_decorator(f):
def fn(x):
print '调用了函数' + f.__name__ + '()'
return f(x)
return fn
return log_decorator
# 结果
# 调用了函数 factorial()
# 3628800
class
class Person {
constructor(name, age) {
this.name = name
this.age = age
}
}
const child1 = new Person('Xiao Ming', 10)
# 定义一个 Person 类:根据 Person 类就可以造成很多 child 实例
class Person(object):
address = 'Earth' # 类属性 (实例公有)
def __init__(self, name, age): # 创建实例时,__init__()方法被自动调用
self.name = name
self.age = age
def get_age(self): # 定义实例方法,它的第一个参数永远是 self,指向调用该方法的实例本身,其他参数和普通函数是一样的
return self.age
child1 = Person('Xiao Ming', 10)
child2 = Person('Xiao Hong', 9)
print child1.name # 'Xiao Ming'
print child2.get_age() # 9
print child1.address # 'Earth'
print child2.address # 'Earth'
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
class Student(Person):
def __init__(self, name, age, grade):
super(Student, self).__init__(name, age) # 这里也能写出 Person.__init__(self, name, age)
self.grade = grade
s = Student('Xiao Ming', 10, 90)
print s.name # 'Xiao Ming'
print s.grade # 90
isinstance(s, Person) isinstance(s, Student)
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有