【人工智能学习路线(一)】以SCI为目标学习笔记——Python 编程基础入门
以SCI为目标学习笔记——Python 编程基础入门
- 一、基本数据类型
- (一)整型
- (二)浮点型
- (三)布尔型
- (四)运算符
- (五)字符串
- (六)类型转换
- 二、集合类型
- (一)列表(list)
- (二)元组(tuple)
- (三)集合(set)
- (四)字典(dict)
- 三、三种决策结构
- (一)顺序结构
- (三)循环结构
- 四、小考核
一、基本数据类型
(一)整型
整型是表示整数的类型。在 Python 中,整型的定义非常简单,直接赋值即可。
例如:
a = 10
<叫做a赋值为10>整型可以进行加、减、乘、除等运算,
例如:
print(a + 5)
输出结果为 15。
tip:长整数用下划线可以隔开如:
1_000_000
(二)浮点型
浮点型用于表示小数。
例如:
b = 3.14
浮点型运算与整型类似,也可以进行各种数学运算,但需要注意浮点数运算可能存在精度问题。
tip:大的浮点数可以用科学技术法表示,如:1e4等价于10000,1.1e-4等价于0.00011
可以运行看一下
1e4
1.1e-4
(三)布尔型
布尔型只有两个值:True 和 False。
有三种运算:”与“ ”或“ ”非“对应and or not
它常用于条件判断。例如:
c = True
d = False
print(c and d)
输出结果为 False。<与的时候全true才true>
true or false
输出结果为 true。<或的时候全false才false>
a=true
not a
则输出false<相反>
(四)运算符
常见的运算符包括算术运算符(+、-、*、/、% 等)、比较运算符(==、!=、>、<、>=、<= 等)<返回布尔>
比较特殊的几个给大家写一下哈
例如:
print(2/2,3/2)
输出:1.0,1.5<python里面返回浮点数>
print(3//2) #整除
print(5%2) #取余
print(2**3) #幂2的3次方
输出:1 ,1, 8
(五)字符串
字符串用于表示文本信息,可以用单引号或双引号括起来。
字符串可以进行拼接、索引、切片等操作。
例如:
str1 = 'Hello',str2 = "World"
print(str1 + ' ' + str2)
print(str1[0])
print(str1[1:3])
type(str1) #打印类型
输出结果为
Hello World
H
el
str
tip:\n为换行;\t为Tab<大空格>,\表示\,r表示原始字符串如下
printr(’hello\tworld\\‘)
有r输出:hello\tworld\
无r输出:hello world\
字符运算:
# 使用[]索引字符串
s = 'abcdefg'
print(s[0]) # 索引第0个字符
print(s[2]) # 索引第2个字符
print(s[-1]) # 索引倒数第1个字符
#使用[], 声明start, end. 切片字符串
print(s[0:3]) # 切片第0到第3个字符(不包括第3)
print(s[:3]) # 切片从头到第3个字符(start为0时,可以省略)
print(s[3:]) # 切片从第3个字符到结束(end为结束时,可以省略)
输出:a c g ab ab defg
一些常用操作:
a='hello laowang'
s.capitalize() #首字母大写转换
print(s.endswith('laowang')) # 判断是否以 laowang 结尾
print(s.endswith('lao')) # 判断是否以 lao 结尾
s.startswith('hel') #检查开头
print(s.isdigit())
print('123'.isdigit())#检查是否为数字
'HELLO'.lower() # 将字符串转换为小写
'HELLO'.upper() # 将字符串转换为大写
'\nhello\t '.strip() # 去掉字符串两端的空白字符(包括换行符、制表符和空格)
' '.join(['1', '2', '3']) # 使用空格连接列表中的元素
len(s) # 返回字符串 s 的长度
(六)类型转换
Python 提供了内置函数来进行类型转换
int() 将其他类型转换为整型,float() 转换为浮点型,str() 转换为字符串,bool() 转换为布尔型。
二、集合类型
(一)列表(list)
列表是一种有序的集合,可以随时添加和删除其中的元素。列表可以进行索引、切片、追加、删除等操作。
创建一个包含不同类型元素的列表:
my_list = [1, "apple", 3.14, True]
print(my_list)
访问列表中的元素:
fruits = ["apple", "banana", "cherry", "orange"]
print(fruits[1]) # 输出: banana
print(fruits[-1]) # 输出: orange
print(fruits[1:3]) # 输出: ['banana', 'cherry']
修改列表中的元素:
numbers = [1, 2, 3, 4]
numbers[0] = 10
print(numbers) # 输出: [10, 2, 3, 4]
使用append()添加元素:
colors = ["red", "green"]
colors.append("blue")
print(colors) # 输出: ['red', 'green', 'blue']
使用insert()插入元素:
letters = ["a", "c"]
letters.insert(1, "b")
print(letters) # 输出: ['a', 'b', 'c']
使用remove()删除元素:
animals = ["cat", "dog", "bird"]
animals.remove("dog")
print(animals) # 输出: ['cat', 'bird']
使用sort()排序:
nums = [3, 1, 4, 2]
nums.sort()
print(nums) # 输出: [1, 2, 3, 4]
列表推导式
创建新列表的简洁方式:
squares = [x**2 for x in range(5)]
print(squares) # 输出: [0, 1, 4, 9, 16]
列表合并
合并两个列表:
list1 = [1, 2]
list2 = [3, 4]
combined = list1 + list2
print(combined) # 输出: [1, 2, 3, 4]
(二)元组(tuple)
元组和列表类似,但元组一旦定义就不能修改,是不可变序列类型。
元组可以进行索引和切片操作,但不能追加或删除元素。
# 元组定义与操作
t = (1, 2, 3)
print(t[0]) # 输出: 1
# t[0] = 10 # 报错,不可修改# 列表定义与操作
l = [1, 2, 3]
l[0] = 10 # 修改元素
l.append(4) # 添加元素
print(l) # 输出: [10, 2, 3, 4]
列表提供更多内置方法(如 sort()、reverse())。
元组仅支持基础序列操作(如 count()、index())。
(三)集合(set)
集合是一个无序的不重复元素序列。
例如:set1 = {1, 2, 3, 3},实际上存储为 {1, 2, 3}。集合支持数学中的集合运算,如交集、并集、差集等。
-
创建集合:使用花括号
{}
或set()
构造函数。s = {1, 2, 3} # 直接创建 s = set([1, 2, 3]) # 从列表转换
-
添加元素:
add()
方法添加单个元素,update()
添加多个元素。s.add(4) # 添加4 s.update([5, 6]) # 添加5和6
-
删除元素:
remove()
删除指定元素(不存在时报错),discard()
删除元素(不报错),pop()
随机删除并返回一个元素。s.remove(1) # 删除1 s.discard(10) # 尝试删除10(无则忽略) s.pop() # 随机删除一个元素
-
清空集合:
clear()
方法清空所有元素。s.clear()
-
并集:
union()
或|
运算符。a = {1, 2} b = {2, 3} a.union(b) # {1, 2, 3} a | b # 同上
-
交集:
intersection()
或&
运算符。a.intersection(b) # {2} a & b # 同上
-
差集:
difference()
或-
运算符。a.difference(b) # {1} a - b # 同上
-
对称差集:
symmetric_difference()
或^
运算符(仅保留非共同元素)。a.symmetric_difference(b) # {1, 3} a ^ b # 同上
-
子集/超集:
issubset()
或<=
判断子集,issuperset()
或>=
判断超集。a = {1, 2} b = {1, 2, 3} a.issubset(b) # True a <= b # 同上 b.issuperset(a) # True
-
真子集/真超集:
<
和>
运算符(排除相等情况)。a < b # True(a是b的真子集)
-
长度与成员检查:
len()
获取元素数量,in
检查元素是否存在。len(s) # 集合大小 1 in s # 检查1是否在集合中
-
不可变集合:
frozenset
类型创建不可修改的集合。fs = frozenset([1, 2, 3])
-
遍历元素:直接迭代或转换为列表。
for x in s:print(x)
-
集合生成式:类似列表生成式。
s = {x for x in range(5) if x % 2 == 0} # {0, 2, 4}
(四)字典(dict)
字典是一个无序的键值对集合。
例如:dict1 = {‘name’: ‘Alice’, ‘age’: 25}。
通过键可以快速获取对应的值,
例如:print(dict1[‘name’]) 输出结3果为 Alice。
字典可以添加、删除键值对。
三、三种决策结构
(一)顺序结构
顺序结构是最简单的结构,程序按照代码的书写顺序依次执行。例如:
print("Hello, World!")
a = 10
b = 20
print(a + b)
这段代码会依次执行输出、赋值和加法运算。
##### (二)条件结构
条件结构根据条件是否满足来决定执行哪一段代码。例如:
```Python
age = 18
if age >= 18:print("成年人")
else:print("未成年人")
这段代码会根据 age 的值判断输出成年人还是未成年人。
(三)循环结构
循环结构用于重复执行某段代码。常见的循环有 for 循环和 while 循环。
for 循环 :用于遍历序列中的每个元素。例如:
for i in [1, 2, 3, 4]:print(i)
输出结果依次为 1、2、3、4。
while 循环 :只要条件为真,就一直执行循环体。例如:
count = 0
while count < 5:print(count)count += 1
输出结果依次为 0、1、2、3、4。
四、小考核
定义一个整型变量 num,并赋值为 100,再输出它的值。
定义一个浮点型变量 pi,并赋值为 3.14159,然后输出它的值。
定义一个布尔型变量 is_valid,并赋值为 True,然后输出它的值。
定义一个字符串变量 greeting,并赋值为 “Hello, Python!”,然后输出它的值。
将 num 转换为浮点型,将 pi 转换为整型,将 greeting 转换为布尔型,然后分别输出转换后的结果。
创建一个列表 numbers,包含元素 1、2、3、4、5,然后输出列表的第二个元素,追加元素 6,删除第一个元素,最后输出整个列表。
创建一个元组 fruits,包含元素 “apple”、“banana”、“orange”,然后输出元组的第一个元素。
创建一个集合 colors,包含元素 “red”、“green”、“blue”、“blue”,然后输出集合的长度。
创建一个字典 person,包含键值对 “name”: “Alice” 和 “age”: 25,然后输出 person 的 “name” 值,添加键值对 “city”: “New York”,最后输出整个字典。
编写一个条件结构,判断一个数是否为正数、负数或零。
使用 for 循环遍历一个列表 [10, 20, 30, 40],并输出每个元素。
使用 while 循环计算 1 到 10 的累加和,并输出结果。
(答案在第二期最后)