当前位置: 首页 > news >正文

【人工智能学习路线(一)】以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<相反>

(四)运算符

常见的运算符包括算术运算符(+、-、*、/、% 等)、比较运算符(==、!=、>、<、>=、<= 等)<返回布尔>
比较特殊的几个给大家写一下哈
例如:

 print2/23/2

输出:1.0,1.5<python里面返回浮点数>

print3//2#整除
print5%2#取余
print2**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 的累加和,并输出结果。
(答案在第二期最后)

http://www.dtcms.com/a/269013.html

相关文章:

  • 面试总结46-50天
  • Python爬虫图片验证码和滑块验证码识别总结
  • 前端技术博客汇总文档
  • 思考5-10分钟,输出高质量的学术科研报告,谷歌的deepsearch模型太惊艳了!
  • 【最新版】Spring Boot 项目打包部署到服务器
  • 【配置+图解Android各种版本配置】
  • V8 主要版本与对应 ECMAScript 支持
  • 2025 API 开发管理工具 Apipost 与 Apifox 全维度对比
  • CentOS-7-x86_64解决:使用NAT模式无法ping通www.baidu.com或无法ping 8.8.8.8问题。
  • 防火墙防御DDoS攻击能力分析
  • AI 智能体记忆系统关键技术
  • vite打包的简单配置
  • 构建一个vue2的项目并安装echarts
  • 【机器学习笔记 Ⅲ】1 无监督学习
  • 讯飞结合kimi辅助文章博客写作
  • 如何解决微信小程序出现两个下拉刷新样式?
  • 【论文阅读】Dynamic Few-Shot Visual Learning without Forgetting
  • 科目一小述(二之前)
  • Git安装避坑指南
  • 深入理解 React 单向数据流:构建高效、可维护的组件架构
  • 石子入水波纹效果:UV扰动着色器实现
  • Vue 配置打包后可编辑的变量
  • UI前端大数据处理性能提升:分布式架构下的数据处理优化
  • 数字人源码部署流程分享--- PC+小程序融合方案
  • 【MyBatis】XML实现,配置方法和增、删、改、查
  • 深入解析密集矩阵与稀疏矩阵:概念、应用与代码实战
  • 【人工智能】ChatGPT、DeepSeek-R1、DeepSeek-V3 辨析
  • 音频信号的预加重:提升语音清晰度
  • 【Netty进阶】Netty的进阶与实战
  • 【C语言】const、volatile、restrict、static四大关键字学习笔记