python基础
一、变量
在python中,不需要对变量进行声明和定义。可以直接进行初始化。这是动态语言的特性之一
name='hello,world'
name=input()
python在变量这里最大的特点是:它的赋值"="概念。
C语言中的赋值号是将右值赋值给左值的内存空间中。左值是一个实实在在的变量。
python中,左值虽然叫作变量,但更像是一个指针。左值和右值之间的关系,是一个指针指向一个存储空间的关系。而不是左值存储右值。
此外:input()方法会输入一个字符串。如果要输入一个数字,比如5,这个数字也会被当成字符‘5’。要想真正使用数字5,需要用int()方法转换。
例如:
a=input()
s=int(a)
二、数据结构
- list
- turple
- dict
(一)list
一个有序的集合,类似于数组。
c=[1,2,3]
与数组不同的地方在于:
1.索引。
c[-1]//指的是最后一个元素
c[-2]//指的是倒数第二个元素
2.方法
追加到最后一个位置
c.append(str)
插入指定位置
c.insert(i,str)
i指的是要插入的索引号位置
删除末尾元素
pop()
删除指定位置的元素
pop(i)
i是要删除的索引号位置
替换已有元素
c[1]='sarh'
直接赋值即可
3.存储的数据类型
可以是任意数据类型。这里更印证了变量之间的一种对应关系而不是赋值关系
(二)turple:与list类似,一旦初始化就再也不可变的集合
c=(1,2,3)
Ps:由于变量之间存在的是一种类似于指针的指向关系,这里说的不可变意思是,turple里的元素指向的存储空间不可变。
这里讨论两个情况:
c=[1,2,[3,4]]
普通类型:
元素不可变。比如:1,2 是不可以改变的。因为如果比方说把2改成3,意味着会新申请一个空间存放3,这样一来元组的位置就改变了,违背了不可变性。
特殊类型:如list
元素可变。即可以修改list里的值,为什么?因为,list本身的存储空间没有发生变化,指向关系不变。没有违背不可变性。
dict和set
d=['mike':90,'bob':100]
print(d[mike])
//90
dict:key-value式的存储方式。
方法:
pop(key)删除key-value
set:与dict相似,但它不存value,只存key
s=set[1,1,2,2,3,3]
set更像是一个数学意义上的集合,遵循无重复性,不管操作是什么,都会自动过滤掉重复的元素
方法:
add(key)
remove(key)
三、逻辑结构
1.条件判断
与c比较:
- if-elseif-else结构变为if-elif-else
- 与或非& | !变为and or not
- 每一个判断条件的最后,都要加一个“:”
- 一个代码块,通过缩进来辨识,而不是{ }
2.循环
for x in name
这句话意思是把name里的每个元素都带入到变量x中,然后对x进行操作。
while n>3:
while用法