Python编程入门基础概念与语法结构
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 # 修改嵌套字典中的值