**
个人主页
**
本文只针对python在数学建模比赛中的应用,不是很全面哦~
一、基础语法
1. 标识符
由字母、数字、下划线组成,不能以数字开头,且区分大小写。单下划线开头的(_foo
),表明是不能直接访问的类属性;双下划线开头的(__foo
),代表类的私有成员;双下划线开头和结尾的(__foo__
),用于特殊方法标识。
2. 保留字符
像and
、if
等关键词,不能用作标识符。
3. 行和缩进
Python 利用缩进来表示代码块,同一代码块内,缩进的空格数必须保持一致。建议使用单个制表符、两个或四个空格,严禁混用。
a=1
if a==1:
print(a)
print("ture")
print("a是等于1的")
print("go")
- 1
- 2
- 3
- 4
- 5
- 6
4.注释
单行注释以#开头;多行注释使用三个单引号’''或三个双引号"“”。
5. print 输出
默认情况下,print 会换行输出。在变量末尾加上逗号(,
),可实现不换行输出。
x="a"
y="b"
# 换行输出
print x
print y
print '---------'
# 不换行输出
print x,
print y,
# 不换行输出
print x,y
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
在同一行书写多个语句时,使用分号(;
)进行分隔。
6. 代码组
缩进相同的一组语句构成代码组。if
、while
等复合语句,首行以关键字开头,以冒号结束,后续的代码组构成子句。
二、基本数据类型
(一)、变量赋值
1.1 无需类型声明
Python 中的变量赋值不需要类型声明。
每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。
每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。
等号 =
用来给变量赋值。
等号**=
** 运算符左边是一个变量名,等号**=
** 运算符右边是存储在变量中的值。例如:
counter = 100 # 赋值整型变量
miles = 1000.0 # 浮点型
name = "John" # 字符串
print counter
print miles
print name
- 1
- 2
- 3
- 4
- 5
- 6
- 7
1.2 多种赋值方式
-
单个变量赋值:通过
等号
,直接将值赋予变量。如miles = 1000.0,将浮点型数据1000.0赋给变量miles。 -
多个变量赋相同值:使用
a = b = c = 1
的形式,系统会创建一个值为1的整型对象,让a、b、c三个变量同时指向这一内存空间。 -
多个变量赋不同值:采用
a, b, c = 1, 2, "john"
的方式,可分别将不同类型的值,对应地赋给多个变量。
(二)、标准数据类型
2.1 数字(Numbers)
2.1.1 不可变类型
数字数据类型用于存储数值。值得注意的是,当数字变量的值发生改变时,系统会为其分配新的对象。例如,当var1 = 1,若后续修改var1的值,系统将重新分配内存空间。
2.1.2 支持类型
-
int
(有符号整型):主要用于表示整数,如10、-786等,涵盖了正整数、负整数和零。 -
long
(长整型,仅 Python 2.X):在 Python 2.2 及之后的版本中,当int数据发生溢出时,会自动转换为long类型。在表示长整型数据时,可使用大写L或小写l,为避免与数字1混淆,建议使用大写L,如51924361L。 -
float
(浮点型):用于表示带有小数部分的数值,如0.0、15.20等。 -
complex
(复数):由实部和虚部组成,书写形式为a + bj,或者通过complex(a,b)函数创建,如3.14j。
2.1.3 删除对象引用
可使用del语句删除数字对象的引用。例如,del var1可删除变量var1的引用;del var_a, var_b则可同时删除多个变量的引用。
2.2 字符串(String)
2.2.1 组成与索引
字符串由数字、字母、下划线等字符组成。在字符串中,索引从左至右默认从0
开始,从右至左默认从-1
开始。例如,对于字符串’abcdef’,字符’a’的索引为0,字符’f’的索引为-1。
2.2.2 切片操作
借助[头下标:尾下标]
的方式,可对字符串进行切片操作,从而截取子字符串。需要注意的是,截取的结果包含头下标对应的字符,但不包含尾下标对应的字符。如对’abcdef’执行[1:5]切片操作,将得到’bcde’。(包头不包尾)
2.2.3 运算符
字符串类型支持多种运算符:
- 连接运算符(+):将两个字符串连接成一个新的字符串,如’Hello,’ + 'World!‘结果为’Hello,World!’。
- 重复运算符(*):将字符串重复指定次数,如’Hi’ * 3结果为’HiHiHi’。
(三)、数据类型的转换
a=100
print (type(a))
b=100.9
print (type(b))
c=True
print (type(c))
- 1
- 2
- 3
- 4
- 5
- 6
type()
打印数据类型的函数
3.1隐式类型转换——自动完成
#隐式转换
ab=a+b
print(type(ab))
- 1
- 2
- 3
<class 'float'>
- 1
3.2显式类型转换——使用类型函数来转换
#强制转换
ab=a+int(b)
print(type(ab))
ab=int(a+b)
print(type(ab))
- 1
- 2
- 3
- 4
- 5
<class 'int'>
<class 'int'>
- 1
- 2
就是在想要转换的变量前面加一个身份
(四)、复合数据类型
4.1列表
-
基本概念:列表是一种有序、可变的数据类型,可以存储任意类型的数据,元素之间用逗号分隔,整体用方括号
[]
包裹。 -
创建列表
fruits = ['apple', 'banana', 'cherry'] numbers = [1, 2, 3, 4, 5] mixed = [1, 'hello', True, [1, 2, 3]]
- 1
- 2
- 3
-
访问元素:
通过索引(从 0 开始)访问列表元素。
print(fruits[0])
- 1
-
修改元素:
可以直接通过索引修改指定位置的元素。
fruits[1] = 'orange'
- 1
-
添加元素
append()
方法在列表末尾添加一个元素。
fruits.append('pear')
- 1
insert()
方法在指定位置插入一个元素。
fruits.insert(1, 'grape')
- 1
-
删除元素
- 使用
del
语句删除指定位置的元素.
del fruits[2]
- 1
pop()
方法删除并返回指定位置的元素(默认删除最后一个)。
removed = fruits.pop(1)
- 1
remove()
方法删除指定值的第一个匹配项。
fruits.remove('pear')
- 1
- 使用
-
注意点:
- 索引不能超出列表范围,否则会抛出
IndexError
异常。 - 列表的切片操作(如
fruits[1:3]
)会返回一个新的列表。
- 索引不能超出列表范围,否则会抛出
4.2 元组
-
基本概念:元组是一种有序、不可变的数据类型,元素之间用逗号分隔,整体用圆括号
()
包裹。虽然不可变,但元组内如果包含可变对象(如列表),可变对象本身是可以修改的。 -
创建元组
point = (1, 2) fruits = ('apple', 'banana', 'cherry') single = (1,) # 单个元素的元组需要逗号
- 1
- 2
- 3
-
访问元素:
和列表一样通过索引访问。
print(fruits[1])
- 1
-
注意点:
- 由于元组不可变,所以没有添加、删除、修改元素的方法。
- 元组在需要保证数据不被意外修改的场景下很有用,并且相比列表,元组的访问速度更快。
4.3集合(set)
-
基本概念:集合是一种无序、可变、不重复的数据类型,元素之间用逗号分隔,整体用花括号
{}
包裹(注意:创建空集合需用set()
,因为{}
创建的是空字典)。 -
创建集合
numbers = {1, 2, 3, 4, 4} # 重复元素会被自动去除 fruits = set(['apple', 'banana', 'cherry'])
- 1
- 2
-
添加元素:
使用
add()
方法添加单个元素,update()
方法添加多个元素(可以是列表、元组等可迭代对象)。numbers.add(5) numbers.update([6, 7, 8])
- 1
- 2
-
删除元素:
remove()
方法删除指定元素(元素不存在时会报错),discard()
方法删除指定元素(元素不存在时不会报错)。numbers.remove(3) numbers.discard(9)
- 1
- 2
-
集合运算:支持并集(
|
或union()
方法)、交集(&
或intersection()
方法)、差集(-
或difference()
方法)等。set1 = {1, 2, 3, 4} set2 = {3, 4, 5, 6} print(set1 | set2) print(set1 & set2) print(set1 - set2)
- 1
- 2
- 3
- 4
- 5
-
注意点:
- 集合中的元素必须是不可变的,所以不能包含列表等可变对象。
- 集合常用于快速判断元素是否存在、去除重复元素以及进行集合运算。
4.4字典(dict)
-
基本概念:字典是一种无序的、可变的数据类型,以键值对(key - value)的形式存储数据。键必须是唯一且不可变的(如字符串、数字、元组),值可以是任意数据类型。
-
创建字典
- 直接赋值
person = {'name': 'Alice', 'age': 25}
- 1
- 使用
dict()
函数
info = dict(name='Bob', age=30)
- 1
-
访问字典元素:通过键获取对应的值。
print(person['name'])
- 1
- 使用
get()
方法,避免键不存在时抛出异常。
print(person.get('height', '暂无数据'))
- 1
-
修改和添加元素:修改已有键的值,添加新的键值对。
person['age'] = 26 person['height'] = 165
- 1
- 2