[PYTHON]基础学习
大部分和其他的语言一样就不多做赘述,就提取一些不同的要点记录。
1.list
list翻译成列表,list是一个有序的集合,可以添加,删除的集合。
和基础语言c语言等等不一样的是,list像是数组对象,更封装了一些方法。
list同样不可以越界,但是list可以取倒数,比如倒数第一个list[-1]
那么list的下标取值范围为:-len-------len-1
2.list的方法
(1)append方法,末尾插入:
lisrt.append('skdj')
(2)insert方法,利用索引号插入
list.insert(1,'sjdkj')
(3)pop方法,利用索引号删除,默认为0。
list.pop()
3.list的特性
(1)list中的元素类型可以不同
例子:List1=['dsjk',123,true]
当然list中也可以有list
List2=['dsjk',[1,2],true]
List2=['dsjk',List1,true]
2.tuple
这一种有序列表的名字叫做:元祖,和list非常像,但是tuple以初始化就无法修改。
tuple用()来定义
另外有一个有趣的事情,比如tuple中有一个list
比如:tuple(1,2,['1','s']) 这样tuple[2][0]这样是可以用于改变tuple中的list
这一点并不会与性质违背,tuple仍是没有改变
3.python使用缩进的方式来识别代码并进行编译
例子:
if a>80:
print("dhsjhdjh");
else:
print("sdjksjdk");
如果正确则执行缩进
另外有一个不同 elseif 则写成 elif
4.通过input接受的变量都是字符型,python是动态变量
可以通过强转制来改变,和c sharp利用相同的机制
4,循环语句
循环语句和java一样,也有for each
names = ['Michael', 'Bob', 'Tracy']
for name in names:
print(name)
list(range(5))是一个0到4的整数集
while也一样,也是利用缩进来表示是不是在循环中
5,字典 dict
就是一个hash map一样的东西
dict=['sd':12,'sd':111]
dict[sd]就会显示12,就相当sd为12的特征码,于是编译器就可以根据这个
特征码进行查询删除等等。还可以进行判断:'sd' in dict
删除dict.pop("sd")
6。set
与dict类似,是一组key的集合,不允许重复。
例子:set([0,1,2,3,4,5,6,1,2]) 会过滤 掉重复的东西
可以通过add的方法添加元素
remove的方法删除元素
7.理解一个例子
>>> a = 'abc'
>>> b = a.replace('a', 'A')
>>> b
'Abc'
>>> a
'abc
也就是引用的问题。使用replace时只是创建一个新的变量进行改变
8.定义函数
格式:
def function(a):
function_bosy
#可以用pass作为占位符,定义空函数
函数返回多个值:
其实就是返回一个tuple
import math
def move(x, y, step, angle=0):
nx = x + step * math.cos(angle)
ny = y - step * math.sin(angle)
return nx, ny
>>> x, y = move(100, 100, 60, math.pi / 6)
>>> print(x, y)
151.96152422706632 70.0
>>> r = move(100, 100, 60, math.pi / 6)
>>> print(r)
(151.96152422706632, 70.0)
函数如果没有返回,会自动return none;
和c++中一样,同样可以接受参数默认
可变参数:
def calc(*numbers):
sum = 0
for n in numbers:
sum = sum + n * n
return sum
>>> calc([1, 2, 3])
14
>>> calc((1, 3, 5, 7))
84
可以直接将需要传入的数据整合成一个list
定义可变参数要在定义中的参数中,加入一个*号
关键字参数
会自动生成一个dict
def person(name, age, **kw):
print('name:', name, 'age:', age, 'other:', kw)
>>> person('Bob', 35, city='Beijing')
name: Bob age: 35 other: {'city': 'Beijing'}
>>> person('Adam', 45, gender='M', job='Engineer')
name: Adam age: 45 other: {'gender': 'M', 'job': 'Engineer'}
9.高级性质
1.切片:L[i:j]:取i到j-1的元素。同样当索引为负数时,同样。
倒数的索引第一个为-1,当i为空时,默认为0.两个均为空时,为全部
L[i:j:k]i到j中每k个取一个
>>> (0, 1, 2, 3, 4, 5)[:3]
(0, 1, 2)
>>> 'ABCDEFG'[:3]
'ABC'
>>> 'ABCDEFG'[::2]
'ACEG'
2.迭代
在dict中有两种值,一个是key,一个是values
1

浙公网安备 33010602011771号