python基础

输出

1 标准输出

### 1. 打印单个值
print("Hello Python")  # 输出:Hello Python
print(123 + 456)       # 输出:579

### 2. 打印多个值(默认用空格分隔)
name = "小明"
age = 18
print("姓名:", name, "年龄:", age)  # 输出:姓名: 小明 年龄: 18


### 3. 自定义分隔符/结束符
print("a", "b", "c", sep="-")  # 分隔符改为-,输出:a-b-c
print("第一行", end="")         # 结束符改为空(默认是换行\n),下一个print不换行
print("第二行")                 # 输出:第一行第二行


### 4. 打印到文件(临时替代文件写入)
with open("output.txt", "w", encoding="utf-8") as f:
    print("写入文件的内容", file=f)  # 内容会写入output.txt,而非控制台

2 格式化输出

name = "小红"
score = 98.5

# 方式1:f-string(Python 3.6+ 推荐,简洁直观)
print(f"姓名:{name},成绩:{score}分")  # 输出:姓名:小红,成绩:98.5分
print(f"成绩保留1位小数:{score:.1f}")  # 格式化数值,输出:成绩保留1位小数:98.5

# 方式2:format() 函数(兼容低版本Python)
print("姓名:{},成绩:{}分".format(name, score))  # 输出同上
print("成绩保留1位小数:{:.1f}".format(score))    # 输出同上

3 文件输出

# 方式1:基础文件写入(注意编码,避免中文乱码)
# "w" 表示覆盖写入,"a" 表示追加写入
with open("data.txt", "w", encoding="utf-8") as f:
    f.write("这是写入文件的第一行\n")  # 写入字符串,需手动加换行符\n
    f.writelines(["第二行\n", "第三行\n"])  # 批量写入多行

# 方式2:CSV文件(适合表格数据)
import csv
with open("score.csv", "w", newline="", encoding="utf-8") as f:
    writer = csv.writer(f)
    writer.writerow(["姓名", "成绩"])  # 写入表头
    writer.writerow(["小红", 98.5])   # 写入数据行

输入

1 标准输入

### 单个输入
# 1. 获取字符串输入
name = input("请输入你的姓名:")  # 输入:小明 → name = "小明"
print(f"你好,{name}")

# 2. 获取数值输入(需转换类型)
age = int(input("请输入你的年龄:"))  # 输入:18 → 转换为整数18
height = float(input("请输入你的身高(米):"))  # 输入:1.75 → 转换为浮点数1.75
print(f"明年你{age+1}岁,身高{height}米")

# 3. 处理输入异常(新手进阶:避免用户输入非数值导致崩溃)
try:
    score = int(input("请输入你的成绩:"))
    print(f"成绩是:{score}")
except ValueError:
    print("输入错误!请输入数字。")


### 多个输入
#### 多个字符
# 输入示例:小明 18 北京(用空格分隔)
# split() 无参数时,默认按任意空白符(空格、制表符、换行)拆分
inputs = input("请输入姓名 年龄 城市(空格分隔):").split()
name = inputs[0]   # 第一个值:姓名
age = inputs[1]    # 第二个值:年龄
city = inputs[2]   # 第三个值:城市

print(f"姓名:{name},年龄:{age},城市:{city}")
# 输出:姓名:小明,年龄:18,城市:北京

#### 多个数值
# 输入示例:80 90 95(三个成绩,空格分隔)
# 先拆分,再批量转换为整数
scores = list(map(int, input("请输入三门成绩(空格分隔):").split()))
# map(int, ...) 把拆分后的每个字符串转成整数,再转成列表

# 计算平均分
average = sum(scores) / len(scores)
print(f"成绩列表:{scores},平均分:{average:.1f}")
# 输出:成绩列表:[80, 90, 95],平均分:88.3

#### 指定分隔符
# 输入示例:小红,98.5,语文(逗号分隔)
# split(',') 按逗号拆分
name, score, subject = input("请输入姓名,成绩,科目(逗号分隔):").split(',')
# 直接解包到变量(注意:拆分后的数量要和变量数一致)

# 转换成绩为浮点数
score = float(score)
print(f"{name}的{subject}成绩是:{score}分")
# 输出:小红的语文成绩是:98.5分

2 文件输入

# 方式1:读取文本文件(按行读取)
with open("data.txt", "r", encoding="utf-8") as f:
    lines = f.readlines()  # 读取所有行,返回列表
    for line in lines:
        print(line.strip())  # strip() 去掉换行符/空格

# 方式2:读取CSV文件(表格数据)
import csv
with open("score.csv", "r", encoding="utf-8") as f:
    reader = csv.reader(f)
    for row in reader:
        print(f"姓名:{row[0]},成绩:{row[1]}")  # 按列索引获取数据

# 方式3:读取大文件(逐行读取,避免占用过多内存)
with open("big_file.txt", "r", encoding="utf-8") as f:
    for line in f:  # 逐行读取,适合超大文件
        print(line.strip())

3 网络输入api

API调用方式示例

# 需要先安装requests库:pip install requests
import requests

# 示例:获取网络接口数据(JSON格式)
response = requests.get("https://api.github.com/users/octocat")
if response.status_code == 200:  # 状态码200表示请求成功
    data = response.json()  # 解析JSON数据为字典
    print(f"用户名:{data['login']},仓库数:{data['public_repos']}")
else:
    print("请求失败!")

数据类型

基础数据类型如下:

类型英文名称示例
整数int10, -5
浮点数float3.14, 2.5
布尔值boolTrue, False
字符串str"hello", 'Python'
空值NoneTypeNone

注意点:

1. Python 的 int 最大优势是无大小限制,使用时记住输入必须 int() 强转、除法会变浮点数等。

2. None判断相等推荐用 is 而不是 ==

== 比较的是值是否相等

is 比较的是是不是同一个对象

None 在 Python 里全局只有一个,永远只有一个实例,所以判断是不是 None 应该用is,有些方法重载eq()函数用==会出错。

运算符

python运算符速记

算术:+ 加 - 减 * 乘 / 除(结果是 float) // 整除(取整数部分) % 取余(模运算) ** 幂运算(次方)

赋值:= 赋值 += 加等于 -= 减等于 *= 乘等于 /= 除等于 //= 整除等于 %= 取余等于 **= 幂等于

比较:== 等于 != 不等于 > 大于 < 小于 >= 大于等于 <= 小于等于

逻辑:and 与(都真才真) or 或(一个真就真) not 非(取反)

成员:in 在里面 not in 不在里面

身份:is 是同一个对象 is not 不是同一个对象

位运算:& 按位与 | 按位或 ^ 按位异或 ~ 按位取反 << 左移 >> 右移


注意点://是整除,%是取余,**是幂运算

控制语句

python中的控制语句,主要有条件语句、循环语句、异常处理。

异常处理示例

try:
    可能出错的代码
except:
    出错时执行
finally:
    无论如何都执行
控制流类型关键字
条件语句if、elif、else
循环语句for、while、break、continue、pass
异常处理try、except、finally、raise

Logo

这里是“一人公司”的成长家园。我们提供从产品曝光、技术变现到法律财税的全栈内容,并连接云服务、办公空间等稀缺资源,助你专注创造,无忧运营。

更多推荐