当前位置:首页>python>Python学习基础

Python学习基础

  • 2026-10-10 19:04:08
Python学习基础
Python学习基础

1、Python基础知识

1.1 认识Python

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

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

1.2 了解编程语言

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

1.3 变量和数据类型

  小白需要注意的问题:

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

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

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

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

  • python有两种注释方式:

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

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

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

        输出结果:

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

1.3.2 初识变量

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

1.3.2.1 声明变量:

  • 语法格式: 变量名 = 变量值

  • 实例

    # 变量
    home = '云南省曲靖市麒麟区白泥破小康城'
    number = 199*******2154

1.3.2.2 使用变量

  • 语法格式:print(变量名)

  • 实例

    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整型/整数 没有小数点的数据

    age = 18
  • float浮点型/小数 带小数的数字

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

    1+1 > 2#False
  • complex(复数)

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

    comNumber = 3 + 5j
    print(comNumber)

基本算数运算符

+ - *(乘) /(除)
% 取余数 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 为从末尾的开始位置。

![img](F:\Typora\Typora Image\123456-20200923-1.svg)

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

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"拼接在一起

  输出结果:

Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST

1.3.3.3 列表(list)

  • 列表的表现形式为用[]中括号包裹起来的数据 里面的数据用逗号隔开
  • 语法格式:列表名=[数据1,数据2]
  • 特点:列表可以修改
talk=['美女', 18, True, 22.5]

1.3.3.4 元组(tuple)

  • 元组的表示形式为用()小括号包裹起来的数据 里面的数据用逗号隔开
  • 语法格式: 元组名=(数据1,数据2)
  • 元组名=(数据1,)
  • 特点:元组不可以修改
tup = (12)
print(tup)
print(type(tup))
tup1 = (12,)
print(tup1)
print(type(tup1))

  输出结果:

12
<class'int'>
(12,)
<class'tuple'>

1.3.3.5 元组与列表

  • 元组的用法和列表相似,但是有两个区别:
    • 元组是小括号 列表是中括号
    • 元组里的数据是不能被修改

1.3.4 序列中取值

1.3.4.1 下标

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

![123456-20200923-1](F:\Typora\Typora Image\123456-20200923-1.svg)

1.3.4.2 索引

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

Python的索引从0开始计数:

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

负索引(反向索引):

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

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开始取数据. 不写终点默认取到最后
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在运算时,通常向更精确的类型转换:

# 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
# 字符串 ↔ 数字
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 序列类型转换

# 转列表
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 二进制数据转换

# 字符串 ↔ 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 高级转换

# 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 常见错误与处理

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 快速参考表

原始类型 → 目标类型
─────────────────────────
str      → int/floatint("123") / float("1.5")
int/float → strstr(123)
list     → tuple/settuple([1,2]) / set([1,2])
tuple    → list/setlist((1,2)) / set((1,2))
dict     → listlist(d) → 所有键
str      → listlist("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开发》等等知识,如果大家有兴趣的话,请点赞+关注,望不负韶华!

最新文章

随机文章