站长信息
jeffery.xu
jeffery.xu

软件工程师

欢迎访问我的个人笔记网站!我是一名热爱技术的开发者,专注于Web开发和技术分享。

811495111@qq.com
18521510875
筛选

个人笔记

1-1-5智能交通系统的数据采集、处理和审核流程设计
人工智能学习

某智能交通系统希望通过车辆的行驶数据,利用人工智能技术进行交通流量预测和拥堵预警。你作为人工智能训练师,需要设计一套全面的业务数据采集、处理和审核流程,确保数据在进入交通流量分析系统之前经过严格的采集、清洗、审核和预处理。这里提供一个车辆行驶数据集(vehicle_traffic_data.csv),包含以下字段:
 VehicleID: 车辆 ID
 DriverName: 驾驶员姓名
 Age: 年龄
 Gender: 性别(Male/Female)
 Speed: 车速(km/h)
 TravelDistance: 行驶距离(km)
 TravelTime: 行驶时间(min)
 TrafficEvent: 交通事件(Normal, Accident, Traffic Jam,
Breakdown)
你作为人工智能训练师,根据提供的 vehicle_traffic_data.csv 数据集和 Python 代码框架
(1.1.5.ipynb),完成以下数据的采集、处理和审核任务,确保数据的准确性和可靠性。请按
照以下要求完成任务,确保结果准确并保存相应的截图。
人工智能训练师(三级)操作技能复习题
15 / 116
(1)数据采集:
通过运行 Python 代码(1.1.5.ipynb),从本地文件 vehicle_traffic_data.csv 中读取数据,
并将数据加载到 DataFrame 中。显示前 5 行数据截图以 JPG 的格式保存,命名为“1.1.5-1”。
(2)数据清洗与预处理:
通过运行 Python 代码(1.1.5.ipynb)对数据进行清洗和预处理,具体要求如下:
 处理缺失值:对缺失值进行删除。
 数据类型转换:确保每个字段的数据类型正确。
 处理异常值:删除不合理的年龄、车速、行驶距离和行驶时间。
清洗后的数据保存为新文件 cleaned_vehicle_traffic_data.csv。
(3)数据合理性审核: 通过运行 Python 代码审核以下字段的合理性:
 年龄:应在 18 到 70 岁之间。
 车速:应在 0 到 200 km/h 之间。
 行驶距离:应在 1 到 1000 km 之间。
 行驶时间:应在 1 到 1440 分钟(24 小时)之间。
对不合理的数据进行标记,并将审核结果截图以 JPG 的格式保存,命名为“1.1.5-2”。
(4)数据统计:
通过运行 Python 代码(1.1.5.ipynb),完成以下数据统计任务:
 统计每种交通事件的发生次数。
 统计不同性别的平均车速、行驶距离和行驶时间。
 统计不同年龄段的驾驶员数(18-25 岁、26-35 岁、36-45 岁、46-55 岁、
56-65 岁、65 岁以上)。
将统计结果分别截图以 JPG 的格式保存,分别命名为“1.1.5-3”、“1.1.5-4”、“1.1.5-5”。
所有结果文件储存在桌面新建的考生文件夹中,文件夹命名为“准考证号+身份证号后
六位”。

 

代码:

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

# 1. 数据采集

# 从本地文件中读取数据  2

data = pd.read_csv('vehicle_traffic_data.csv')

print("数据采集完成,已加载到DataFrame")

# 打印数据的前5条记录

print(data.head())

# 2. 数据清洗与预处理

# 处理缺失值  2

data = data.dropna()

# 数据类型转换

data['Age'] = data['Age'].astype(int)  # Age数据类型转换 1

data['Speed'] = data['Speed'].astype(float)  # Speed数据类型转换 1

data['TravelDistance'] = data['TravelDistance'].astype(float)  # TravelDistance数据类型转换 1

data['TravelTime'] = data['TravelTime'].astype(float)  # TravelTime数据类型转换 1

# 处理异常值  2

data = data[(data['Age'].between(18, 70)) &(data['Speed'].between(0, 200)) & (data['TravelDistance'].between(1, 1000)) & (data['TravelTime'].between(1, 1440))]

# 保存清洗后的数据  1

data.to_csv('cleaned_vehicle_traffic_data.csv', index=False)

print("数据清洗完成,已保存为 'cleaned_vehicle_traffic_data.csv'")

# 3. 数据合理性审核

# 审核字段合理性 1

unreasonable_data = data[~((data['Age'].between(18, 70)) &

                                    (data['Speed'].between(0, 200)) &

                                    (data['TravelDistance'].between(1, 1000)) &

                                    (data['TravelTime'].between(1, 1440)))]

print("不合理的数据:\n", unreasonable_data)

 

# 4. 数据统计

# 统计每种交通事件的发生次数  2

traffic_event_counts = data['TrafficEvent'].value_counts()

print("每种交通事件的发生次数:\n", traffic_event_counts)

 

# 统计不同性别的平均车速、行驶距离和行驶时间  2

gender_stats = data.groupby('Gender').agg(

{'Speed': 'mean', 'TravelDistance': 'mean', 'TravelTime': 'mean'})

print("不同性别的平均车速、行驶距离和行驶时间:\n", gender_stats)

 

# 统计不同年龄段的驾驶员数  2

age_bins = [18, 26, 36, 46, 56, 66, np.inf]

age_labels = ['18-25', '26-35', '36-45', '46-55', '56-65', '65+']

data['AgeGroup'] = pd.cut(data['Age'], bins=age_bins, labels=age_labels, right=False)

age_group_counts = data['AgeGroup'].value_counts()

print("不同年龄段的驾驶员数:\n", age_group_counts)

1-1-1
人工智能学习

某医疗机构计划引入智能医疗系统,以提升诊断效率和准确性。通过分析患者的历史
数据,使用机器学习算法预测患者的健康风险,从而辅助医生进行诊断和治疗。为此,该机
构需要设计一套全面的业务数据处理流程,确保数据处理的高效性和准确性,为人工智能模
型提供可靠的输入数据。
我们提供一个患者数据集(patient_data.csv),包含以下字段:
PatientID: 患者 ID
Age: 年龄
BMI: 体重指数
BloodPressure: 血压
Cholesterol: 胆固醇水平
DaysInHospital: 住院天数
你作为人工智能训练师,根据提供的数据集和 Python 代码框架(1.1.1.ipynb),完成以
下数据的统计和分析,为智能医疗系统提供可靠的数据支持。
人工智能训练师(三级)操作技能复习题
(1)通过补全并运行 Python 代码(1.1.1.ipynb)分别统计住院天数超过 7 天的患者数
量以及其占比。这类患者被定义为高风险患者,反之为低风险患者。将上述统计结果截图以
JPG 的格式保存,命名为“1.1.1-1”。
(2)通过补全并运行 Python 代码(1.1.1. ipynb)统计不同 BMI 区间中高风险患者的
比例和统计不同 BMI 区间中的患者数。BMI 区间分类设置为:偏瘦(低于 18.5),正常(18.5~
23.9),超重(24.0~27.9),肥胖(28.0 及以上),将上述统计结果截图以 JPG 的格式保存,
命名为“1.1.1-2”。
(3)通过补全并运行 Python 代码(1.1.1. ipynb)统计不同年龄区间中高风险患者的比
例和统计不同年龄区间中的患者数。年龄区间分类设置为:年龄区间分类设置为:≤25 岁,
26-35 岁,36-45 岁,46-55 岁,56-65 岁,>65 岁,将上述统计结果截图以 JPG 的格式保存,
命名为“1.1.1-3”。
所有结果文件储存在桌面新建的考生文件夹中,文件夹命名为“准考证号+身份证号后
六位”

 

代码:

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

# 读取数据集

data = pd.read_csv('patient_data.csv')

# 1. 统计住院天数超过7天的患者数量及其占比

# 创建新列'RiskLevel',根据住院天数判断风险等级

data['RiskLevel'] = np.where(data['DaysInHospital']>7, '高风险患者', '低风险患者')

# 统计不同风险等级的患者数量

risk_counts = data['RiskLevel'].value_counts()

# 计算高风险患者占比

high_risk_ratio = risk_counts['高风险患者'] / len(data)

# 计算低风险患者占比

low_risk_ratio = risk_counts['低风险患者'] / len(data)

# 输出结果

print("高风险患者数量:", risk_counts['高风险患者'])

print("低风险患者数量:", risk_counts['低风险患者'])

print("高风险患者占比:", high_risk_ratio)

print("低风险患者占比:", low_risk_ratio)

# 2. 统计不同BMI区间中高风险患者的比例和患者数

# 定义BMI区间和标签

bmi_bins = [0, 18.5, 24.9, 29.9, np.inf]

bmi_labels = ['偏瘦', '正常', '超重', '肥胖']

# 根据BMI值分配BMI区间标签

data['BMIRange'] = pd.cut(data['BMI'], bins=bmi_bins, labels=bmi_labels,right=False)

# 计算每个BMI区间中高风险患者的比例

bmi_risk_rate = data.groupby('BMIRange')['RiskLevel'].apply(lambda x: (x == '高风险患者').mean())

# 统计每个BMI区间的患者数量

bmi_patient_count = data['BMIRange'].value_counts()

# 输出结果

print("BMI区间中高风险患者的比例和患者数:")

print(bmi_risk_rate)    #高风险患者的比例

print(bmi_patient_count)    #高风险患者的患者数

# 3. 统计不同年龄区间中高风险患者的比例和患者数

# 定义年龄区间和标签

age_bins = [0, 25, 35, 45, 55, 65, np.inf]

age_labels = ['25', '26-35', '36-45', '46-55', '56-65', '65']

# 根据年龄值分配年龄区间标签

data['AgeRange'] = pd.cut(data['Age'], bins=age_bins, labels=age_labels,right=False)

# 计算每个年龄区间中高风险患者的比例

age_risk_rate = data.groupby('AgeRange')['RiskLevel'].apply(lambda x: (x == '高风险患者').mean())

# 统计每个年龄区间的患者数量

age_patient_count = data['AgeRange'].value_counts()

 

# 输出结果

print("年龄区间中高风险患者的比例和患者数:")

print(age_risk_rate)   #高风险患者的比例

print(age_patient_count)   #高风险患者的患者数

1-1-4
人工智能学习

代码:

import pandas

# 1. 数据采集

# 从本地文件中读取数据  2

data = pandas.read_csv('user_behavior_data.csv')

print("数据采集完成,已加载到DataFrame")

# 打印数据的前5条记录  2

print(data.head())

# 2. 数据清洗与预处理

# 处理缺失值  2

data = data.dropna()

# 数据类型转换

data['Age'] = data['Age'].astype(int)  # Age数据类型转换 2

data['PurchaseAmount'] = data['PurchaseAmount'].astype(float)  # PurchaseAmount数据类型转换  2

data['ReviewScore'] = data['ReviewScore'].astype(int)  # ReviewScore数据类型转换 2

# 处理异常值  2

data = data[(data['Age'].between(18, 70)) &(data['PurchaseAmount'] > 0) &(data['ReviewScore'].between(1, 5))]

# 数据标准化

data['PurchaseAmount']= (data['PurchaseAmount'] - data['PurchaseAmount'].mean()) / data['PurchaseAmount'].std()  # PurchaseAmount数据标准化 2

data['ReviewScore'] = (data['ReviewScore'] - data['ReviewScore'].mean()) / data['ReviewScore'].std()  # ReviewScore数据标准化 2

# 保存清洗后的数据  1

data.to_csv('cleaned_user_behavior_data.csv', index=False)

print("数据清洗完成,已保存为 'cleaned_user_behavior_data.csv'")

# 3. 数据统计

# 统计每个购买类别的用户数

purchase_category_counts = data['PurchaseCategory'].value_counts()

print("每个购买类别的用户数:\n", purchase_category_counts)

# 统计不同性别的平均购买金额
gender_purchase_amount_mean = data.groupby('Gender')['PurchaseAmount'].mean()

print("不同性别的平均购买金额:\n", gender_purchase_amount_mean)

# 统计不同年龄段的用户数

bins = [18, 25, 35, 45, 55, 65, 70]

labels = ['18-25', '26-35', '36-45', '46-55', '56-65', '65+']

data['AgeGroup'] = pandas.cut(data['Age'], bins=bins, labels=labels, right=False)

age_group_counts = data['AgeGroup'].value_counts().sort_index()

print("不同年龄段的用户数:\n", age_group_counts)

1-1-3
人工智能学习

代码:

import pandas as pd

# 读取数据集

data = pd.read_csv('credit_data.csv')

# 1. 数据完整性审核

missing_values = data.isnull().sum()  # 数据缺失值统计 2

duplicate_values = data.duplicated().sum()  # 数据重复值统计 2

# 输出结果

print("缺失值统计:")

print(missing_values)

print("重复值统计:")

print(duplicate_values)

 

# 2. 数据合理性审核

data['is_age_valid'] = data['Age'].between(18, 70)  # Age数据的合理性审核 2

data['is_income_valid'] = data['Income'] > 2000  # Income数据的合理性审核 2

data['is_loan_amount_valid'] = data['LoanAmount'] < (data['Income'] * 5) 

# LoanAmount数据的合理性审核 2

data['is_credit_score_valid'] = data['CreditScore'].between(300, 850) 

# CreditScore数据的合理性审核 2

# 合理性检查结果

validity_checks=data[['is_age_valid', 'is_income_valid', 'is_loan_amount_valid', 'is_credit_score_valid']].all(axis=1)

data['is_valid'] = validity_checks

# 输出结果

print("数据合理性检查:")

print(data[['is_age_valid', 'is_income_valid', 'is_loan_amount_valid', 'is_credit_score_valid','is_valid']].describe())

# 3. 数据清洗和异常值处理

# 标记不合理数据

invalid_rows = data[~data['is_valid']]

# 删除不合理数据行

cleaned_data = data[data['is_valid']]

# 删除标记列

cleaned_data = cleaned_data.drop(columns=['is_age_valid', 'is_income_valid', 'is_loan_amount_valid', 'is_credit_score_valid', 'is_valid'])

# 保存清洗后的数据

cleaned_data.to_csv('cleaned_credit_data.csv', index=False)

print("数据清洗完成,已保存为 'cleaned_credit_data.csv'")

1-1-2
人工智能学习

代码:

import pandas as pd

import numpy as np

import matplotlib.pyplot as plt

# 读取数据集

data = pd.read_csv('sensor_data.csv')

# 1. 传感器数据统计

# 对传感器类型进行分组,并计算每个组的数据数量和平均值

sensor_stats = data.groupby('SensorType')['Value'].agg(['count', 'mean'])

# 输出结果

print("传感器数据数量和平均值:")

print(sensor_stats)

 # 2. 按位置统计温度和湿度数据

# 筛选出温度和湿度数据,然后按位置和传感器类型分组,计算每个组的平均值

location_stats=data[data['SensorType'].isin(['Temperature','Humidity'])].groupby(['Location', 'SensorType'])[ 'Value'].mean().unstack()

# 输出结果

print("每个位置的温度和湿度数据平均值:")

 print(location_stats)

 # 3. 数据清洗和异常值处理

# 标记异常值

data['is_abnormal'] = np.where( ((data['SensorType'] == 'Temperature') & ((data['Value'] < -10) | (data['Value'] > 50))) | ((data['SensorType'] == 'Humidity') & ((data['Value'] < 0) | (data['Value'] > 100))), True, False)

 # 输出异常值数量

print("异常值数量:", data['is_abnormal'].sum())

# 填补缺失值

# 使用前向填充和后向填充的方法填补缺失值

data['Value'].fillna(method='ffill', inplace=True)

data['Value'].fillna(method='bfill', inplace=True)

# 保存清洗后的数据

# 删除用于标记异常值的列,并将清洗后的数据保存到新的CSV文件中

cleaned_data = data.drop(columns=['is_abnormal'])

cleaned_data.to_csv('cleaned_sensor_data.csv', index=False)

print("数据清洗完成,已保存为 'cleaned_sensor_data.csv'")

microsoft.web.ui.controls 的 treeview 控件绑定问题
工作笔记

周五遇到一个问题,treeview控件绑定菜单数据,当菜单节点过少的时候,报错了。仔细查找了好久,找不到原因。只知道databind()就报错了。查看了报错日志,发现有Page.url报错,甚是奇怪。最后反编译了dll,找到了问题。问题在于下面这个方法:

控件的 ReadXmlSrc 先把 TreeNodeSrc 当作 URI 去读取(GetXmlReaderFromUri);只有当该 URI 读取抛异常时才回退到把字符串当 XML(GetXmlReaderFromString)。
当节点较少时,编码后的相对 URI 比较短,请求成功返回了内容(或服务器对短 URL 做了特殊处理),解析器就直接在那个输入流上解析并在 DTD/属性处报错 —— 因为那不是一个纯净的 XML 输入(被当作 URL 处理后产生了问题)。
当节点很多时,编码后的 URL 变得更长或触发服务器拒绝/超时等错误,导致 GetXmlReaderFromUri 抛出异常,代码走到 catch 分支再用字符串解析,这样就不会触发 URI 路径上的那类错误,所以看起来“节点多反而不报错”。微软的控件真是一言难尽

青岛旅游总结
生活经验
一、基础信息
  • 出行时间:2024 年 09 月 20 日 - 09 月 24 日(周六 - 周三)
  • 旅游方式:出发9月20日06:25的吉祥航空HO1075 大约8:20分至青岛, 返程9月24日18:25的东方航空MU5524,21点到家
  • 住宿地点:延安三路青岛丽天大酒店(核心住宿点,便于辐射多景点)
  • 交通核心:以地铁 2 号线、3 号线为主要通勤线路,辅以公交、打车,部分远途景点(如崂山)选择跟团
  • 必备物品:舒适运动鞋(多步行)、充电宝(可选)、自拍杆(可选)、手机交通卡(全国联通)、滴滴等打车软件、百度地图
 
二、分日详情
Day1(09.20 周六):老城区人文 + 海滨初体验
1. 行程与交通(精准耗时 / 路线)
事项
 
 
时间
 
 
交通方式
 
 
耗时
 
 
备注
 
 
前往青岛站
 
 
10:30-11:00
 
 
3 号线→青岛站
 
 
约 20 分钟
 
 
 
 
 
青岛站→天主教堂
 
 
11:00-11:30
 
 
步行
 
 
约 30 分钟
 
 
可顺路看海滨街景
 
 
天主教堂→栈桥景区
 
 
12:30-13:30
 
 
步行
 
 
约 15 分钟
 
 
饭后散步前往
 
 
栈桥→海军博物馆
 
 
13:30-15:00
 
 
步行
 
 
约 20 分钟
 
 
参观海军博物馆
 
 
海军博物馆→鲁迅公园
 
 
15:00-16:00
 
 
步行
 
 
海军博物馆旁
 
 
红礁石海岸随走随停
 
 
鲁迅公园→小青岛公园
 
 
16:00-17:00
 
 
步行
 
 
海军博物馆旁
 
 
免费,有灯塔,步行
 
 
小青岛公园→小鱼山
 
 
17:00-17:30
 
 
打车
 
 
约15分钟
 
 
小山坡,可拍照
 
 
小鱼山公园→大杰海鲜
 
 
17:30-20:30
 
 
打车
 
 
约15分钟
 
 
和朋友一起用餐
 
 
大杰海鲜→酒店
 
 
20:30-21:30
 
 
地铁
 
 
地铁2转3
 
 
 
 
 
 
2. 实用提醒
  • 天主教堂:拍照,没必要入内
  • 栈桥景区:回澜阁不进入,人很多,到处是人
  • 海军博物馆:有退役军舰可以登,还有博物馆内容4个展馆,看完1个半小时左右,旁边就是小青岛公园和鲁迅公园,在海边,可拍照留念。
3. 用餐
  • 中午,同学请我们在教堂边的前海沿用餐。初尝青岛的饺子,海肠捞饭,胶东炒八带(八带是鱿鱼)
  • 晚上,大杰海鲜。尝蒸海鲜,喝青岛原浆。
 
Day2(09.21 周日):崂山跟团 + 新城区夜景
1. 行程与交通
事项
 
 
时间
 
 
交通方式
 
 
耗时
 
 
备注
 
 
酒店→崂山风景区
 
 
07:30-16:00
 
 
跟团大巴
 
 
7:40出发,15:30返程,4点15到五四广场
 
 
午餐自理,建议带便携食品 / 水
 
 
崂山→五四广场
 
 
16:00-18:00
 
 
跟团大巴返程
 
 
约 1 小时
 
 
 
 
 
晚餐
 
 
18:00-19:00
 
 
步行
 
 
 
 
 
 
 
 
五四广场→奥帆中心→酒店
 
 
19:00-21:30
 
 
步行
 
 
约 15-20 分钟
 
 
五四广场 “五月的风” ,情人坝,奥帆中心,周边很多小店
 
 
 
2. 实用提醒
  • 崂山跟团:先到仰口,索道单程35/人,双程70/人。中午在一个村庄吃自己带的食物,下午太清宫,出海150/人,出海我不太建议,就是坐半小时船,有点晕,还贵。
  • 奥帆中心:情人坝适合看落日 / 夜景
3. 用餐
晚餐:开海,青岛菜
 
Day3(09.22 周一):方特梦幻王国欢乐日
1. 行程与交通
事项
 
 
时间
 
 
交通方式
 
 
耗时
 
 
备注
 
 
酒店→方特梦幻王国
 
 
08:30-09:30
 
 
地铁
 
 
约 1 小时 15 分钟
 
 
出地铁后需步行
 
 
方特梦幻王国游玩
 
 
09:30-17:00
 
 
园区内步行
 
 
全天
 
 
 
 
 
方特→酒店
 
 
18:00-19:30
 
 
按原路线返回(地铁 3 号线 + 8 号线)
 
 
约 1 小时 30 分钟
 
 
返程可在地铁口附近简单用餐,缓解疲惫
 
 
 
2. 实用提醒
  • 园区必备:穿舒适运动鞋(日均步行 2 万 + 步),带充电宝、雨具(9 月可能有阵雨),园区内餐饮价格较高,可自带零食
  • 项目规划:火流星过于刺激,飞越极限,魔法城堡很棒,聊斋,白蛇传一般,生命之光昏昏欲睡,猴王很热闹。秦陵地宫差评未建完。唐古拉雪山是小过山车,不刺激。逃出恐龙岛是激流勇进。
  • 门票信息:方特门票450元 /双人,网购
3. 用餐
  • 晚饭船小鲜
 
Day4(09.23 周二):极地海洋公园 + 八大关+第二海水浴场+第三海水浴场
1. 行程与交通
事项
 
 
时间
 
 
交通方式
 
 
耗时
 
 
备注
 
 
酒店→极地海洋公园
 
 
09:00-09:45
 
 
打车
 
 
约 45 分钟
 
 
13元
 
 
海洋公园游玩
 
 
09:45-13:00
 
 
园区内步行
 
 
约 3.5 小时
 
 
看表演
 
 
酒店休息
 
 
13:00-17:30
 
 
打车(11 元)
 
 
约 20-35 分钟
 
 
 
 
 
酒店→八大关
 
 
18:30-19:00
 
 
公交
 
 
约 25-30 分钟
 
 
 
 
 
八大关→第二海水浴场→第三海水浴场→酒店
 
 
19:00-21:00
 
 
步行
 
 
2小时
 
 
看风景,踩海,看灯光秀
 
 
 
2. 实用提醒
  • 海洋公园:表演时间表可提前在官方公众号查询,避免错过;魔幻海洋值得一看,其他一般。
  • 八大关晚上很一般,第二海水浴场没人,不如直接第三海水浴场
3. 用餐
  • 晚饭鱼汤馄饨+排骨米饭
 
Day5(09.24 周三):啤酒博物馆 +中山公园(动物园)+ 返程
1. 行程与交通
事项
 
 
时间
 
 
交通方式
 
 
耗时
 
 
备注
 
 
酒店→啤酒博物馆
 
 
09:00-10:40
 
 
打车(10元)
 
 
约 38 分钟
 
 
纯喝
 
 
啤酒博物馆→中山公园
 
 
10:40-12:00
 
 
打车(10元)
 
 
约 2.5 小时
 
 
参观动物园
 
 
中山公园→双和园
 
 
12:00-14:00
 
 
吃饭
 
 
约 2 小时
 
 
 
 
 
机场
 
 
15:30-18:25
 
 
办理值机、安检
 
 
约 1.5 小时
 
 
 
 
 
 
2. 实用提醒
  • 啤酒博物馆:1903 酒吧啤酒品尝限 18 岁以上,可免费领取啤酒豆;馆内纪念商品(如定制啤酒杯)可按需购买
  • 返程注意:机场距市区较远,1.5小时路程
3. 用餐
  • 午饭和同学一起吃双合园,推荐
 
三、提前预约
  • 海军博物馆,免费
  • 方特,双人票450元,地铁口雨衣参考,只有逃出恐龙岛有用(激流勇进)
  • 崂山风景区,双人276
  • 海洋公园,双人499
  • 啤酒博物馆,有很多套餐,我选了带小食的107,我家宝子选了多种啤酒的,123,喝不完根本喝不完。
Pandas快速入门1
软考
IIFE
工作笔记

(function () { … })() 是 JavaScript 中常见的一种模式,称为 IIFE(Immediately‑Invoked Function Expression,立即执行函数表达式)。下面分点解释并给出示例。
1.    目的(为什么用)
•    建立独立作用域:函数内部的变量不会污染全局命名空间。
•    封装私有变量/方法:可以把实现细节隐藏,只暴露需要的接口。
•    立即执行初始化逻辑(模块初始化、事件绑定等)。
•    可安全传入全局对象(如 window、jQuery)作局部引用,性能与兼容性更好。

Edge下打开IE的开发工具
工作笔记

%systemroot%\system32\f12\IEChooser.exe