当前位置:首页 > 技术 > 正文内容

Python编程入门基础概念与语法结构

访客 技术 2026年8月16日 1

Python语言概述

Python是一种高级、动态类型的面向对象编程语言,以其简洁清晰的语法和强大的功能库广泛应用于自动化脚本、数据分析、网络开发等领域。编写代码的核心目标是通过逻辑指令解决现实中的具体问题。

版本差异说明

目前主流使用的Python版本为Python 2.7与Python 3.x系列,两者存在若干不兼容的变化:

  • print语句:在Python 2中为语句形式(print "hello"),而在Python 3中改为函数调用(print("hello")
  • 字符串编码:Python 3默认使用Unicode(UTF-8)处理文本,而Python 2默认采用ASCII编码
  • 除法操作:Python 3中/始终返回浮点结果,//用于整除;Python 2中两个整数相除若无余数则返回整型
  • 异常语法:Python 3统一使用except Exception as e格式
  • 范围生成器:Python 3中的range()行为类似于Python 2的xrange(),不再直接生成列表以节省内存

第一个程序:Hello World

创建一个名为hello_world.py的文件,并写入以下内容:

print('hello world')

保存后运行该脚本即可输出指定文本。

字符编码机制

不同编码标准决定了字符如何被计算机存储和解析:

  • ASCII:使用1字节(8位)表示128个基本英文字母、数字及符号(0–127)
  • Unicode:统一码,理论上支持全球所有语言字符,通常用4字节表示
  • UTF-8:可变长度编码方式,对英文字符使用1字节,中文一般占用3字节,实现高效存储
  • GBK:中文扩展编码,兼容GB2312,支持超过2万汉字,中文字符占2字节

在Python源码中声明编码格式的方法是在文件首行添加注释:

# -*- coding: utf-8 -*-
# 或
# -*- coding: gbk -*- 

Python 2需手动设置编码以支持非ASCII字符,而Python 3已默认使用UTF-8作为源文件编码。

输入与输出操作

标准输出使用print()函数:

print("你是风儿我是沙")

获取用户输入可通过input()函数:

username = input("请输入用户名:")

对于密码等敏感信息,应使用getpass模块隐藏输入过程:

import getpass
password = getpass.getpass("请输入密码:")

变量定义规则

变量用于绑定某个数据值,语法为:

variable_name = value

命名规范如下:

  • 只能包含字母、数字和下划线
  • 不能以数字开头
  • 不可使用保留关键字(如if, for, class等)
  • 推荐使用具有语义意义的名称,例如user_password

多个变量可以引用同一对象:

name = "alex"
alias = name  # alias 指向与 name 相同的数据

条件控制结构

根据布尔表达式的真假执行不同分支:

单分支结构:

if condition:
    print("条件成立时执行")

双分支结构:

if condition:
    print("成立")
else:
    print("不成立")

多分支结构:

if score >= 90:
    level = 'A'
elif score >= 80:
    level = 'B'
elif score >= 70:
    level = 'C'
else:
    level = 'D'

循环执行机制

使用while实现重复执行:

counter = 0
while counter < 3:
    print("钓鱼要钓刀鱼,刀鱼要到岛上钓")
    counter += 1
print("完成")

无限循环示例:

while True:
    print("持续输出...")

控制关键字:

  • break:立即退出当前循环
  • continue:跳过本次剩余语句,进入下一次迭代

核心数据类型

Python中最基础的数据组织形式为序列类型。

整型(int):表示整数值

age = 18

字符串(str):由字符组成的有序序列

name = "紫薇"
first_char = name[0]   # 结果为"紫"
second_char = name[1]  # 结果为"薇"

列表(list):有序、可变的元素集合,用方括号定义

users = ["紫薇", "尔康", "18", "海量", "小鸡"]
first_user = users[0]  # 取出"紫薇"
for item in users:
    print(item)
    if item == "18":
        break

字典(dict):键值对的无序集合,使用花括号定义

info = {"name": "紫薇", "age": 18}
user_name = info["name"]     # 得到"紫薇"
info["score"] = 95           # 添加新键值对

嵌套数据结构:复杂场景下允许不同类型混合嵌套

nested_data = [
    "alex",
    {"name": "日天", "age": 18},
    [11, 22, 33]
]
nested_data[1]["age"] = 19  # 修改嵌套字典中的值

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

自定义域名解析神器 dnsmasq

什么是 dnsmasq?dnsmasq 是一个轻量级、功能强大的网络服务工具,专为小型和中等规模网络设计。它是一个综合的网络基础设施解决方案[1]。dnsmasq 能做什么?功能说明应用场景DNS 转发与缓存将 DNS 查询转发到上游服务器(ISP、Google DNS 等),并在本地缓存结果加快 DNS 查询速度,减少外部 DNS 流量本地 DNS解析本地网络设备的主机名,无需编辑&n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。