【Python】基础入门(持续更新)

it2026-02-22  9

目录

 

Python基础

1. 变量

2. 语句

3. 列表

4. 元组

5. 字典

6. 函数

n. 强调

空列表、空元组不为None

 python 中,类型属于对象,变量是没有类型的

总结


 

Python基础

1. 变量

变量赋值不需要类型声明

a = 1

允许同时为多个变量赋值

a = b = c = 1

为多个对象指定多个变量

a, b, c = 1, 2, 'john'

删除

del a,b

运算符

** 幂(a**b 即 a的b次幂)

// 取整除(返回商的整数部分)

in 包含在内(a in list 即 变量a在list中)

not in 不包含在内(a not in list 即 变量a不在list中)

is 有相同标识

is not 没有相同标识

代码样例:

a = 'hello world' if 'or' in a: print("a contain 'or'")

2. 语句

input

Python2

a = raw_input()    输入自动转化为字符串类型

a = input()            a的类型与输入类型一致

Python3

a = input()            输入自动转化为字符串类型

print区别

Python2    print a

Python3    print(a)

以上输出自动换行,如下为输出不换行:

Python2    print a,

Python3    print(a, end='')

字符串的输出:

print("My name is %s and weight is %d kg!" % ('Zara', 21))

My name is Zara and weight is 21 kg!

注释

# 注释一行

``` 注释多行

条件语句

代码样例:

a = 0 if a == 3: print('a') elif 1 < a < 10 or a == 0: print('b') else: print('c') 循环语句

while循环代码样例:

count = 0 while count < 5: count = count + 1 else: print(count, " is not less than 5")

for循环代码样例:

for num in range(10, 15): print('a') else: print('b')

Python中没有do...while循环

注意事项:

1)while和for中,else语句会在循环正常执行完执行

2)while循环和for循环可以嵌套

3)range(start, stop, step) 从start(默认是0)开始到stop(必须有)结束,但不包括stop,步长为step(默认是1)

range(0, 10, 3)即[0, 3, 6, 9]

break、continue、pass

break 跳出最小封闭for或while循环

continue 跳过当前循环的剩余语句,继续下一轮循环

pass 不做任何事情,为了保持程序结构的完整性

3. 列表

列表的数据项不需要具有相同的类型,形如

['physics', 'chemistry', 1997, 2000]

[头下表:尾下表]截取相应的字符串或列表(字符串、元组同理)

从左到右索引默认0开始的,最大范围是字符串长度少1

从右到左索引默认-1开始的,最大范围是字符串开头

 A    B    C    D

 0    1     2     3

-4   -3    -2    -1

从头取到尾,但不包括尾。没有尾则默认取到结尾

代码样例:

a = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] print(a[1:5]) print(a[4:]) print(a[:2])

运行结果:

['b', 'c', 'd', 'e']

['e', 'f', 'g']

添加元素

尾部添加    a.append(element)

在index+1添加元素    a.insert(index, element)

删除元素

删除元素    del a[index]

删除尾部数据    a.pop(index)

删除第一个指定的值    a.remove(value)

4. 元组

元组中只包含一个元素时,需要在元素后面添加逗号

a = ('a', )

元组与列表相似,但元组的元素不能修改若元组中包含列表,则列表中的元素可更改

样例代码:

a = ('a', 'b', ['c', 'd'], 'e', 'f', 'g') print(a) a[2][1] = 'z' print(a)

运行结果:

('a', 'b', ['c', 'd'], 'e', 'f', 'g') ('a', 'b', ['c', 'z'], 'e', 'f', 'g')

5. 字典

键值对

d = {key1: value1,key2: value2}

值可以取任何数据类型,但键必须是不可变的,如字符串,数字或元组不允许同一个键出现两次。创建时如果同一个键被赋值两次,后一个值会被记住

代码样例:

a = dict() a['name'] = 'aaa' a['age'] = 12 for key, value in a.items(): print(key, ':', value) print(a) del a['age'] print(a)

运行结果:

name : aaa age : 12 {'name': 'aaa', 'age': 12} {'name': 'aaa'}

6. 函数

参数传递

不可变类型:变量赋值 a=5 后再赋值 a=10,这里实际是新生成一个 int 值对象 10,再让 a 指向它,而 5 被丢弃,不是改变a的值,相当于新生成了a(如 整数、字符串、元组)

可变类型:变量赋值 a=[1,2,3,4] 后再赋值 a[2]=5 则是将a的第三个元素值更改,本身a没有动,只是其内部的一部分值被修改了(如 列表、字典)

代码样例 1:

def ChangeInt(b): b = 10 b = 2 ChangeInt(b) print(b)

运行结果:

2

代码样例 2:

def change(list): list.append([1, 2, 3, 4]) print("函数内取值: ", list) return list = [10, 20, 30] change(list) print("函数外取值: ", list)

运行结果:

函数内取值:  [10, 20, 30, [1, 2, 3, 4]] 函数外取值:  [10, 20, 30, [1, 2, 3, 4]]

元素或列表和字典传递参数

代码样例:

def f(a=0, *args, **kw): print(a) print(args) print(kw) a = [1, 2, 3] d = {'name': 'aaa', 'age': 12} f(*a, **d)

运行结果:

1 (2, 3) {'name': 'aaa', 'age': 12}

全局变量和局部变量

代码样例:

total = 0 def sum(arg1, arg2): total = arg1 + arg2 print("函数内是局部变量 : ", total) return total sum(10, 20) print("函数外是全局变量 : ", total)

运行结果:

函数内是局部变量 :  30 函数外是全局变量 :  0

n. 强调

空列表、空元组不为None

代码样例:

a = [] b = () c = None print('a: %s' % type(a)) print('b: %s' % type(b)) print('c: %s' % type(c)) if a is None: print('a is null') else: print('a is not null') if b is None: print('b is null') else: print('b is not null') if c is None: print('c is null') else: print('c is not null')

运行结果:

a: <class 'list'> b: <class 'tuple'> c: <class 'NoneType'> a is not null b is not null c is null

None相当于空指针,是不分配内存空间的,而[]已经分配了列表的内存空间,只不过列表内存空间为空,()同理

 python 中,类型属于对象,变量是没有类型的

代码样例:

a = 3 b = 3 print(id(a)) print(id(b)) a = [1, 2] b = [1, 2] print(id(a)) print(id(b)) a = "12" b = "12" print(id(a)) print(id(b))

运行结果:

140713555920608 140713555920608 1987407465280 1987407464448 1987406285040 1987406285040

通过id()函数取出变量地址。由此可见,Python中的整数、字符串一直是同一个地址,是不变的,变得只有变量名,变量名就像一个指向固定地址的指针,而列表是可变的,新建的列表会分配新的地址


总结

这其中仍有许多需要注意的细节,我也只是对我需要用到的部分做一些整理

参考资料:Python菜鸟教程

最新回复(0)