JS程序员入门Python笔记-语法篇
2020-01-09 本文已影响0人
秋天下雨淋湿冬天
1、 语法改动
undefined ==> None
else if ==> elif
! ==> not
array ==> list
object ==> dict
2、和数学运算不同的地方是,Python的整数运算结果仍然是整数,浮点数运算结果仍然是浮点数:
Python 2.7的整数除法运算结果仍是整数
>>> 10 / 3
3
但是,Python 3.x已经改进了整数的除法运算,“/”除将得到浮点数,“//”除才仍是整数:
>>> 10 / 3
3.3333333333333335
>>> 10 // 3
3
3、uple是另一种有序的列表,中文翻译为“ 元组 ”。tuple 和 list 非常类似,但是,tuple一旦创建完毕,就不能修改了。
t = ('Adam', 'Lisa', 'Bart')
创建tuple和创建list唯一不同之处是用( )替代了[ ]
4、Python代码的缩进规则。具有相同缩进的代码被视为代码块。
缩进请严格按照Python的习惯写法:4个空格,不要使用Tab,更不要混合Tab和空格,否则很容易造成因为缩进引起的语法错误。
5、由于函数的参数按从左到右的顺序匹配,所以默认参数只能定义在必需参数的后面
6、对象快速取Value
d = { 'Adam': 95, 'Lisa': 85, 'Bart': 59 }
print d.values()
# [85, 95, 59]
for key, value in d.items():
print key, ':', value
7、列表生成式
[x * x for x in range(1, 11) if x % 2 == 0]
# [1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
[m + n for m in 'ABC' for n in '123']
# ['A1', 'A2', 'A3', 'B1', 'B2', 'B3', 'C1', 'C2', 'C3']
8、匿名函数
#匿名函数
lambda x: x * x
#匿名函数有个限制,就是只能有一个表达式,不写return,返回值就是该表达式的结果。
9、模块导入
// python
from math import pow, sin, log
// JS ES6
import { pow, sin, log } from math
10、init Class
class Person(object):
def __init__(self, **kw):
for k, v in kw.iteritems():
setattr(self, k, v)
11、python中访问限制
Python对属性权限的控制是通过属性名来实现的,
如果一个属性由双下划线开头(__),该属性就无法被外部访问
但是,如果一个属性以"__xxx__"的形式定义,
那它又可以被外部访问了,
以"__xxx__"定义的属性在Python的类中被称为特殊属性,
有很多预定义的特殊属性可以使用,
通常我们不要把普通属性用"__xxx__"定义。
以单下划线开头的属性"_xxx"虽然也可以被外部访问,
但是,按照习惯,他们不应该被外部访问。