Python 基础

这篇博客详细介绍了Python的基础知识,包括变量、命名规范、赋值、注释、输入输出、标准头部、条件判断、运算符、循环结构以及常用数据类型如列表、元组和字典的使用。对于初学者,它提供了全面的Python入门指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

变量


用于存储各种值、对象,在以后的程序中使用或更改。

命名要求
  • 具有描述性
  • 以 _,数字,下划线组成
  • 不以数字开头
  • 不适用保留字
    保留字=[and as assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass print raise return try while with yield]
命名规范
  • 包名、模块名、局部变量名、函数名:全小写+下划线式驼峰
  • 全局变量:全大写+下划线式驼峰
  • 类名:首字母大写驼峰式
  • 类私有变量:双下划线开头小写
  • 常量:全部大写
    链接:PEP8命名规范
    中文链接

赋值

变量名直接指向值!!!下列中:a指向‘Yun’,然后b也指向‘Yun’,当a重新赋值后,b还是指向原来位置‘Yun’
>>> a = 'Yun'
>>> b = a
>>> b
>>> 'Yun'
>>> a = 'Six'
>>> b
>>> 'Yun'

注释

# 这是单行注释
"""
这是多行注释,
多行注释
"""

输入

# 输入类型都为字符串类型
name = input('输入:')
# 描述以变量传入
sub = '请输入:'
name = input(sub)

输出

>>> print('Sixto')
Sixto
>>> print('100+200 =',100+200)
100+200 = 300

标准头部

#! /usr/bin/env python3
# -*- coding: utf-8 -*-
#! /usr/bin/env python
# -*- coding: utf-8 -*-

条件判断

Python代码缩进规则为4个空格

如果条件为真,则执行缩进代码块;否则,执行else下缩进代码块

if 条件:
    pass
else:
    pass
多次判断
if 条件:
    pass
elif 条件:
    pass
elif 条件:
    pass
else:
    pass

运算符

以下值为假:
  • None
  • False
  • 任何数值类型的零,例如:0,0.0,0j
  • 任何空序列,例如:”、()、[]
  • 任何空映射,例如:{}
  • 用户定义类的实例,如果该类定义__bool__()或__len__()’\方法,当该方法返回布尔值False或整数零的时候

其余都全部为真。

赋值运算
操作描述
=赋值运算
+=加法赋值运算
-=减法赋值运算
*=乘法赋值运算
/=除法赋值运算
%=取模赋值运算
**=幂赋值运算
//=取整除复制运算
布尔运算
操作结果
x or y或;若 x 为 False, 则结果为 y, 否则结果为 x
x and y与;若x 为 false, 则结果为 x, 否则结果为 y
not x非;若 x 为 false, 则结果为True, 否则结果为 False

not 是一个低优先级的布尔运算符,所以 not a = = b 解释为 not (a = = b),以及a = = not b 是一个语法错误。

比较运算

Python有8种比较运算符。他们的优先级都相同(同时都比布尔运算符的优先级高)。比较符可以任意地连接;比如,x < y <= z等价于x < y and y <= z。

操作含义
<严格地小于
<=小于或等于
>严格地大于
>=大于或等于
==等于
!=不等于
is对象的ID
is not不同的对象ID

in 与 not in 与上面具有相同的优先级,但只能用于序列中。

数值类型

所有的数值类型(复数除外)都支持以下的运算操作,以下操作按优先级升序排序(所有的运算操作的优先级都比比较操作高)。

操作结果
x + yx 和 y 的和
x - yx 和 y 的差
x * yx 和 y 的乘积
x / yx 和 y 的商
x // yx 除以y的商向下取整的整数
x % y求余数
-xx 取负
+xx 保持不变
abs(x)x的绝对值或x的大小
int(x)x 转换为整数
float(x)x 转换为浮点数
complex(re, im)将参数转化为复数,re为复数的实部,Im为复数的虚部。im 默认为0
c.conjugate()c 复数的共轭
divmod(x, y)(x / / y, x % y)
pow(x, y)x 的y 次幂,效率高
x ** yx 的y 次幂

所有number.Real类型(int和float)还包括以下操作:

操作结果
math.trunc(x)x截断为Integral
round(x[, n])x舍入到n数字,舍入到一半到偶数。如果省略n,它将默认为0。
math.floor(x)最大的Integral <= x
math.ceil(x)最小Integral> = x
整数类型的位运算

二进制按位操作的优先级都低于数值运算,并高于比较运算;一元操作~具有与其他一元数字操作(+和-)相同的优先级,升序排列。

操作结果
x | yx和y的按位或
x ^ yx和y的按位异或
x &yx和y的按位与
x << nx左移n位
x >>nx右移n位
~x反转x的各个位
通用序列

s和t是相同类型的序列,n,i,j 和k是整数,x是值

操作结果
x in s如果x等于s中的任何一个值为True,否False
x not in s如果x不等于s中的任何值为True,否False
s + t将s与t连接
s * n or n * s相当于将s添加到自身n次
s[i]返回s的i,起始为0
s[i:j]返回s的i到j
s[i:j:k]返回s的i到j,跨距为k
len(s)返回s的长度
min(s)返回s的最小值
max(s)返回s的最大值
s.index(x [, i [, j]])返回值x在s中索引(在索引i之后或索引j之前)
s.count(x)s中值x的总出现次数
可变序列

在表中s是可变序列类型的实例,t是任何可迭代对象,x是满足任何类型的任意对象。

操作结果
s [i] = xx替换s[i]的值
s [i:j] = t从可迭代的t值替换从i到j的s
del s [i:j]与s [i:j] = [] 相同
s [i:j:k] = ts[i:j:k]的元素被t取代,长度要相同
del s [i:j:k]从列表中删除s[i:j:k]的元素
s.append(x)将x追加到序列的末尾(与s [len(s):len(s)] = [x]相同)
s.clear()从s中删除所有项目(与del s [:]相同)
s.copy()创建s的浅拷贝(与s[:]相同)
s.extend(t)或s + = t使用t的内容延伸s(s [len(s):len(s)] = t)
s * = n更新s,其内容重复n次
s.insert(i, x)在索引i插入x
s.pop([i])弹出索引i处的值,默认最后一个
s.remove(x)从s中移除第一个等于x的值
s.reverse()反转s

while循环

当条件为真时,执行缩进块代码,然后再判断,再执行……

while 条件:
    pass

for循环

for i in iterable:
    代码块
break:跳出循环;continue:跳出本次循环,进行下次循环

列表元祖

li = [1,2] 有序可改变
tuple = (1,2) 有序不可改变

字典

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值