变量
在 python 中,类型属于对象,变量是没有类型的,Eg:a=[1,2,3]
,其中[1,2,3] 是 List 类型,而变量 a 没有类型,它仅仅是一个对象的引用
函数的参数传递
不可变类型:类似 c++ 的值传递,如 整数、字符串、元组。如fun(a),传递的只是a的值,没有影响a对象本身。
可变类型:类似 c++ 的引用传递,如 列表,字典。如 fun(la),则是将 la 真正的传过去,修改后fun外部的la也会受影响
1 | def changeme( mylist ): |
关键词参数
python中调用关键词参数,不用注意顺序,解释器会自动进行匹配1
printinfo( age=50, name="runoob" )
python遍历:
Python3 range() 函数返回的是一个可迭代对象(类型是对象),而不是列表类型, 所以打印的时候不会打印列表1
2
3
4range(5)
#range(0, 5)
list(range(5))
#[0, 1, 2, 3, 4]
在序列中遍历时,索引位置和对应值可以使用 enumerate() 函数同时得到:1
2
3
4
5
6
7for i, v in enumerate(['tic', 'tac', 'toe']):
print(i, v)
'''
0 tic
1 tac
2 toe
'''
同时遍历两个或更多的序列,可以使用 zip() 组合:1
2
3
4
5questions = ['name', 'quest', 'favorite color']
answers = ['lancelot', 'the holy grail', 'blue']
for q, a in zip(questions, answers):
print('What is your {0}? It is {1}.'.format(q, a))
#What is your name? It is lancelot.
python类:
1 | class Complex: |
self是类的实例,不是类本身,且并不是一个关键字,也可以使用 this/toor等,但是最好还是按照约定是用self
python类方法/函数:
在类地内部,使用 def 关键字来定义一个方法,与一般函数定义不同,类方法必须包含参数 self, 且为第一个参数,self 代表的是类的实例。
python类属性
__private_ attrs:
两个下划线开头,声明该属性为私有,不能在类地外部被使用或直接访问,但可以通过调用类的公有函数访问。在类内部的方法中使用时 self.__private_attrs。