【初始Python】Python学习基础(数据类型、定义、变量、下标、目前的开发语言对比)

Python学习基础

1、Python基础知识

1.1 认识Python

Python解释器:运行代码,翻译代码的工具;

Windows&IOS操作系统:使用PyCharm代码编辑器,写代码的工具;

1.2 了解编程语言

对编程语言的了解(主流编程语言):

  • 前端(HTML、CSS、JavaScript)

    • HTML:写网页框架
    • CSS:写网页样式
    • JavaScript:动态、轮播图
    • 前端的作用:
    • 1、写网页网站 ---》给用户看的部分
    • 2、写程序 ---》给用户看的部分
    • 3、写H5程序 ---》H5游戏,各种JS进阶网页
  • Java:市场稳定,学的人多,会的人太多,行业现状,一个字卷;

    • 大数据:比较适合处理大量批量数据
    • web后台开发:做一个网站的后台
    • 大型服务部署:性能更好
  • C/C++:比较难,先学C语言,再递进C++,C++能做硬件开发(芯片、单片机、嵌入式)

    • 硬件开发:芯片开发、单片机、嵌入式
    • 系统底层的开发/Windows编程:很多操作系统都是C来写的
    • 服务器开发
    • 逆向开发
    • 游戏开发:黑悟空
    • 客户端开发:可视化界面开发
    • C与C++的区别:C++相当于C的升级版
  • C#:为了取代Java而研发的开发语言,微软公司为了取代Java而研发的编程语言,大部分是模仿了Java和C语言,没有被取代,反而被应用;

    • Java能做的,C#基本都能做,基本比Java弱势一点
    • 游戏开发
    • Windows环境下进行软件开发 ---》性能会更好,更好用
  • go语言(go lang)

    • 对标C/C++,主要用来做服务器开发为主的语言,近几年比较强势
  • PHP:曾经(PHP是全世界最好的编程语言),现在(Python是全世界最好的编程语言)

    • 小体量的网页网站开发 ---》小型网站 ---》个人博客都可以
    • 曾经PHP是全世界最好的编程语言,但是现在Python才是全世界最好的编程语言;
  • Python

    • Web后台开发 ---》做一个网站的后台
    • 数据分析
      • 数据处理,制作数据图表来进行分析和展示
      • 数据处理与清洗,确保数据的可靠性
    • 爬虫技术
      • 自动化程序,用于从互联网上收集和提取信息
      • 数据采集(偷数据):爬虫可以从网站上抓取文本、图片、视频等各种类型的数据
      • 价格监测:电商平台可以使用爬虫监测竞争对手的价格和库存情况
      • 爬取社交媒体平台上的数据,用于舆情分析、市场调研(以前是线下发传单)等等
      • 学术研究:研究人员可以使用爬虫收集相关领域的文献、数据集、进行科学调研
      • 实时数据监控:监控特定网站的更新情况,及时抓取最新信息
    • 自动化测试
    • 自动化运维
    • 游戏开发:小型或中型游戏项目,Python多个库和框架,可以让你轻松的创建各种类型的邮箱
    • 人工智能、机器人

1.3 变量和数据类型

小白需要注意的问题:

  • 默认情况下,print()函数每次都在新行上打印,这是由于Python文档中的print()定义决定的;
  • 注意:编写代码时必须切换成英文输入状态,否则会报错,特别是标点符号必须在英文输入状态下输入;
  • 漏了符号,引号,缩进,空格问题;
  • print不需要大写,纯小写,且要确保单次拼写正确;

1.3.1 程序员必备修养 -- 注释

  • 注释(代码太多,很容易忘记,就可以写上相关注释)

  • 注释是给开发人员看的. 不会参与程序的运行

  • python有两种注释方式:

    • 单行注释 --> 用#符号表示.在#后面的内容都是注释

    • 多行注释 --> 用一对三引号包裹着的内容(单引/双引都可)

      python 复制代码
      # 创建简单表格
      print("""
          被创建之后,能够输出,内容,显示多行内容的作用
          ---------个人信息表格---------
          姓名:小明
          年龄:18
          性别:男
          学习:自由大学
          兴趣爱好:羽毛球,散步,篮球,驾车
      """)

      输出结果:

      python 复制代码
          被创建之后,能够输出,内容,显示多行内容的作用
          ---------个人信息表格---------
          姓名:小明
          年龄:18
          性别:男
          学习:自由大学
          兴趣爱好:羽毛球,散步,篮球,驾车

1.3.2 初识变量

  • 程序里的变量--》相当于容器,盒子,用来存数据
  • 类似于生活中的保险柜、书包...
1.3.2.1 声明变量:
  • 语法格式:

    变量名 = 变量值

  • 实例

    python 复制代码
    # 变量
    home = '云南省曲靖市麒麟区白泥破小康城'
    number = 199*******2154
1.3.2.2 使用变量
  • 语法格式:
    print(变量名)

  • 实例

    python 复制代码
    print(home)
    print(number)
1.3.2.3 变量的命名规范

1. 一般是有数字、字母、下划线组成 (中文可以,但不推荐)

2. 首字符不能是数字,不能数字开头

3. 符号只能用下划线,不能用其他符号

4. 不要用/不推荐用关键字,有特别含义的数据命名 强调: 不要给变量命名为 print input这些名字

5. 见名知意 --> 一眼可以看出来,这个数据有什么用

1.3.2.4 常见的变量命名方法
复制代码
    比较好用的命名方式--》驼峰命名法
    大驼峰--》每个单词首字母都大写; UserName 用户名
    小驼峰--》第一个单词不变,后面的单词首字母大写;    userName
    下划线--》不同的单词用下划线分割,全部小写;    user_name user_age

1.3.3 数据类型

  • 在现实生活中,动物是有分类的,人的性别也是有男女区别的,菜也是分为蔬菜和荤菜;
  • 如果不定义类型,肯定分辨不清楚,任何东西都有分类,在编程世界中,数据也有分类;

Python3 中常见的数据类型有

  • Number(数字)
  • String(字符串)
  • bool(布尔类型)
  • List(列表)
  • Tuple(元组)
  • Set(集合)
  • Dictionary(字典)

Python的六种数据类型中,不可变数据类型:Number(数字)、String(字符串)、Tuple(元组);可变数据类型:List(列表)、Dictionary(字典)、Set(集合)。

1.3.3.1 数值类型
  • int整型/整数 没有小数点的数据

    python 复制代码
    age = 18
  • float浮点型/小数 带小数的数字

    python 复制代码
    height = 165.5
  • bool布尔类型,判断类型:布尔类型主要是用来做判断的一种类型,只有两个值,用True表示真.,用False表示假;

    python 复制代码
    1+1 > 2 #False
  • complex(复数)

    复数由实数部分和虚数部分构成,可以用 a + bj ,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b 都是浮点型。

    python 复制代码
    comNumber = 3 + 5j
    print(comNumber)

基本算数运算符

python 复制代码
+ - *(乘) /(除)
% 取余数 10%3= 1
// 整除 10//3=3
** 取幂 3**3 --> 3*3*3 = 27

注意:

  • 1、Python可以同时为多个变量赋值,如a, b = 1, 2。
  • 2、一个变量可以通过赋值指向不同类型的对象。
  • 3、数值的除法包含两个运算符:/ 返回一个浮点数,// 返回一个整数。
  • 4、在混合计算时,Python会把整型转换成为浮点数。

数值类型实例

int float complex
10 0.0 3.14j
100 15.20 45.j
-786 -21.9 9.322e-36j
080 32.3e+18 .876j
-0490 -90. -.6545+0J
-0x260 -32.54e100 3e+26J
0x69 70.2E-12 4.53e-7j
1.3.3.2 String(字符串)

Python中的字符串用单引号 ' 或双引号 " 括起来,同时使用反斜杠 ** 转义特殊字符。

字符串的截取的语法格式如下:

复制代码
变量[头下标:尾下标]

索引值以 0 为开始值,-1 为从末尾的开始位置。

加号 + 是字符串的连接符, 星号 ***** 表示复制当前字符串,与之结合的数字为复制的次数。实例如下:

python 复制代码
strs = 'Runoob'  # 定义一个字符串变量
print(strs)           # 打印整个字符串
print(strs[0:-1])     # 打印字符串第一个到倒数第二个字符(不包含倒数第一个字符)
print(strs[0])        # 打印字符串的第一个字符
print(strs[2:5])      # 打印字符串第三到第五个字符(不包含索引为 5 的字符)
print(strs[2:])       # 打印字符串从第三个字符开始到末尾
print(strs * 2)       # 打印字符串两次
print(strs + "TEST")  # 打印字符串和"TEST"拼接在一起

输出结果:

python 复制代码
Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST
1.3.3.3 列表(list)
  • 列表的表现形式为用[]中括号包裹起来的数据 里面的数据用逗号隔开
  • 语法格式:列表名=[数据1,数据2]
  • 特点:列表可以修改
python 复制代码
talk=['美女', 18, True, 22.5]
1.3.3.4 元组(tuple)
  • 元组的表示形式为用()小括号包裹起来的数据 里面的数据用逗号隔开
  • 语法格式: 元组名=(数据1,数据2)
  • 元组名=(数据1,)
  • 特点:元组不可以修改
python 复制代码
tup = (12)
print(tup)
print(type(tup))
tup1 = (12,)
print(tup1)
print(type(tup1))

输出结果:

python 复制代码
12
<class 'int'>
(12,)
<class 'tuple'>
1.3.3.5 元组与列表
  • 元组的用法和列表相似,但是有两个区别:
    • 元组是小括号 列表是中括号
    • 元组里的数据是不能被修改

1.3.4 序列中取值

1.3.4.1 下标
  • 序列类型-->可以存储多个数据的一种类型,里面的数据是有顺序,坐标概念的,称之为下标;
  • 在程序中,和生活习惯不一样,程序下标是从0开始进行计算的;
  • 下标也支持负数取值,最后一个数为-1,倒数第二个数为-2;
1.3.4.2 索引

Python的索引(Indexing)是访问序列类型(如字符串、列表、元组等)中单个元素的核心机制。

Python的索引从0开始计数

python 复制代码
# 索引
text = 'Python'
# 索引: 0     1       2       3       4       5
# 字符: P     y       t       h       o       n
print(text[0])   # 'P'
print(text[3])   # 'h'

负索引(反向索引)

从末尾开始计数,-1表示最后一个元素:

python 复制代码
text = 'Python'
# 索引: -6   -5   -4   -3   -2   -1
# 字符:  P    y    t    h    o    n

print(text[-1])  # 'n'
print(text[-3])  # 'h'

可索引的数据类型

类型 是否可索引 是否可变
str(字符串) ❌ (不可变)
list(列表)
tuple(元组)
bytes(不可变的字节序列)
bytearray(可变的字节序列)
dict(字典) ✅ (按键)
set(集合) -
1.3.4.3 切片(Slicing)

使用 [start:stop:step] 语法获取子序列:

语法 含义
[a:b] 从索引 a 到 b-1
[:b] 从开头到 b-1
[a:] 从 a 到末尾
[::2] 每隔一个取一个
[::-1] 反转序列

切片的细节

  1. 切片时.终点值实际是取到它的前一位.不是自身
  2. 切片时.起点值和终点值可以空着不写. 不写起点默认从头/0开始取数据. 不写终点默认取到最后
python 复制代码
strs = 'Runoob'  # 定义一个字符串变量
print(strs)           # 打印整个字符串   Runoob
print(strs[0:-1])     # 打印字符串第一个到倒数第二个字符(不包含倒数第一个字符)  Runoo
print(strs[0])        # 打印字符串的第一个字符  R
print(strs[2:5])      # 打印字符串第三到第五个字符(不包含索引为 5 的字符) noo
print(strs[2:])       # 打印字符串从第三个字符开始到末尾  noob

1.4 数据类型转换

Python 的数据类型转换分为隐式转换 (自动)和显式转换(手动)。

类型转换两种类型:自我转换(Bool类型);

强制转换(需要在合法的情况下才能进行转换);

1.4.1 隐式转换(自动)

Python在运算时,通常向更精确的类型转换:

python 复制代码
# int + float → float
result = 3 + 2.5      # 5.5 (int 自动转为 float)

# int + bool → int (True=1, False=0)
result = 5 + True     # 6

# 字符串拼接不会隐式转换
"年龄:" + 25         # ❌ TypeError,需要显式转换

1.4.2 显式转换(强制类型转换)

1.4.2.1 基本类型转换
函数 说明 示例
int(x) 转整数 int("42")42
float(x) 转浮点数 float("3.14")3.14
str(x) 转字符串 str(100)"100"
bool(x) 转布尔值 bool(0)False
python 复制代码
# 字符串 ↔ 数字
int("100")        # 100
int("100", 16)    # 256 (按16进制解析)
float("3.14")     # 3.14
str(3.14159)      # "3.14159"

# 布尔转换(只有0、空值、None为False)
bool(0)           # False
bool("")          # False
bool([])          # False
bool(None)        # False
bool(1)           # True
bool("hello")     # True
1.4.2.2 序列类型转换
python 复制代码
# 转列表
list("abc")           # ['a', 'b', 'c']
list((1, 2, 3))       # [1, 2, 3]
list({"a": 1, "b": 2}) # ['a', 'b'] (仅取键)

# 转元组
tuple([1, 2, 3])      # (1, 2, 3)

# 转集合(去重)
set([1, 2, 2, 3])     # {1, 2, 3}

# 转字典(需要键值对序列)
dict([("a", 1), ("b", 2)])  # {'a': 1, 'b': 2}
1.4.2.3 二进制数据转换
python 复制代码
# 字符串 ↔ bytes
"你好".encode('utf-8')     # b'\xe4\xbd\xa0\xe5\xa5\xbd'
b'\xe4\xbd\xa0'.decode('utf-8')  # '你'

# 其他类型 ↔ bytes
bytes([65, 66, 67])       # b'ABC'
bytearray(b'hello')       # bytearray(b'hello')

# 十六进制
bytes.fromhex('48656c6c6f')  # b'Hello'
b'Hello'.hex()            # '48656c6c6f'
1.4.2.4 高级转换
python 复制代码
# eval() - 解析字符串为 Python 表达式(⚠️ 有安全风险)
eval("[1, 2, 3]")         # [1, 2, 3]
eval("{'a': 1}")          # {'a': 1}

# ast.literal_eval() - 更安全的解析
import ast
ast.literal_eval("[1, 2, 3]")  # [1, 2, 3]

# json 转换(常用于 API 数据处理)
import json
json.dumps({"a": 1})      # '{"a": 1}' (dict → str)
json.loads('{"a": 1}')    # {'a': 1} (str → dict)

1.4.3 常见错误与处理

python 复制代码
int("3.14")       # ❌ ValueError(先转 float 再转 int)
int(float("3.14")) # ✅ 3

int("abc")        # ❌ ValueError
int("abc", 16)    # ✅ 2748 (按16进制解析)

float("inf")      # ✅ inf (无穷大)
float("nan")      # ✅ nan (非数字)

1.4.4 快速参考表

python 复制代码
原始类型 → 目标类型
─────────────────────────
str      → int/float    int("123") / float("1.5")
int/float → str         str(123)
list     → tuple/set    tuple([1,2]) / set([1,2])
tuple    → list/set     list((1,2)) / set((1,2))
dict     → list          list(d) → 所有键
str      → list          list("abc") → ['a','b','c']
bytes    → str           b.decode('utf-8')
str      → bytes         s.encode('utf-8')
python 复制代码
 ✅ 2748 (按16进制解析)

float("inf")      # ✅ inf (无穷大)
float("nan")      # ✅ nan (非数字)

1.4.4 快速参考表

python 复制代码
原始类型 → 目标类型
─────────────────────────
str      → int/float    int("123") / float("1.5")
int/float → str         str(123)
list     → tuple/set    tuple([1,2]) / set([1,2])
tuple    → list/set     list((1,2)) / set((1,2))
dict     → list          list(d) → 所有键
str      → list          list("abc") → ['a','b','c']
bytes    → str           b.decode('utf-8')
str      → bytes         s.encode('utf-8')

以上的内容,是本人自学Python,写的笔记,如有错误,请留言哦!!!本人会在第一时间及时更正。如果你觉得有用,请关注我,一起学习Python,一起高薪!!
  从【2026年4月15日】起,会持续更新关于Python的相关知识,比如《Python数据分析》、《爬虫》、《Python Web开发》等等知识,如果大家有兴趣的话,请点赞+关注,望不负韶华!

相关推荐
qq_334563552 小时前
C#怎么实现后台作业调度 C#如何用Quartz.NET配置Cron表达式执行定时调度作业【框架】
jvm·数据库·python
weixin_586061462 小时前
Django怎么实现跨域请求处理_Python配置CORS中间件详解
jvm·数据库·python
2301_803538952 小时前
Pandas 中使用交叉表为分类列生成计数汇总列
jvm·数据库·python
lsx2024062 小时前
Ruby 迭代器
开发语言
财经资讯数据_灵砚智能2 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年4月14日
大数据·人工智能·python·信息可视化·自然语言处理
敲代码的瓦龙2 小时前
Java?泛型!!!
windows·python·microsoft
史迪仔01122 小时前
[QML] Popup 与 Dialog
开发语言·前端·javascript·c++·qt
John.Lewis2 小时前
C++加餐课-stack_queue:计算器-逆波兰表达式
开发语言·c++
DeepModel2 小时前
通俗易懂讲透 Mini-Batch K-means
开发语言·人工智能·机器学习·kmeans·batch