Jupyter Notebook

tab补全

按下tab可以搜索已输入变量的命名空间,也可以补全任何对象的方法和属性。

自省

在变量前后使用问号❓,可以显示对象的详细信息。

b = [1,2,3]
b?
print?

如果对象是一个函数或者实例方法,定义过的字符串文档,也会显示出信息

def numbers_add(a,b) # 定义一个加法函数
'''
Add two numbers

Returns
------
the_sum:type of arguments

'''

return a + b

numbers_add?

使用❓❓可以显示出函数的源代码

numbers_add??

❓还能搜索命名空间,用字符和通配符结合可以匹配所有的名字,例如想要获取所有包含load的Numpy命名空间:

np.*load*?

jupyter快捷键

python语法基础

使用缩进

python不需要括号,但是有严格的缩进格式,例如

# 生成二维坐标(x,y)要求x不小于y

for i in range(4):
    for j in range(4):
        if j > i:
            break
        print((i,j))

'''
用三层单引号就能实现多行的注释!

'''

注释

在python中单行注释用符号 # 来实现

多行的注释用三个单引号来实现(示例如上)

变量和参数传递

a = [1,2,3] # 创建一个列表命名为变量a
b = a # 将a赋值给一个新变量b
print(a)
print(b)

在python中,a和b其实是同一个对象。

python的对象通常都有属性和方法

二元运算符和比较运算符

可变与不可变对象

python中大部分对象都是可变对象,如列表、字典、Numpy数组等,以及用户自己定义的类型也是可变的。

list = ['nihao',1,99,[33,5]] # 在这个列表中包含有字符串,数字,列表
list[2]=0  # 将列表中索引为2的元素更改为0
print(list)

字符串和元组是不可变的对象,例如下面这串代码运行就会报错

tuple = (1,2,(3,4))
tuple[1] = 555 # 试图修改元组中索引为2的位置的元素

标量类型

数值类型

py的主要数值类型是int和float类型,int可以存储任意大的数

浮点数使用python的float类型。每个都是双精度(64位)值。不能整除的数会得到浮点数。

字符串

用单引号,双引号都可以来写字符串,但是对于要换行的字符串注意一定要使用三引号,单的双的都可以,类比于多行注释。

name = 'zhangsan'
introduce = "He is a student in *** university."
others = '''
He is a boy.
He like fishing.
'''

需要注意的是字符串是不可变的对象。

字符串是一个序列Unicode字符,因此可以像其他序列一样处理,可以切片,也可以索引提取

s = 'python'
s_list = list(s)
s[1]
s[:3]

在python中反斜杠\是转义字符,如果要写一个包含反斜杠\的字符串,需要对\进行转义。

s = '11\\22'
# 输出结果是11\22

如果在一个字符串中包含有很多个\可以在字符串前加一个r来表示它本身。

s = r'nihao\\wozhendehaoma\\\'

将两个字符串合并可以得到一个新的字符串

a = 'zheshiyigezifuchuan,'
b = 'zheyeshiyigezifuchuan'
c = a + b
print(c)

布尔值

py中的布尔值有两个True and False.

日期和时间

py内建的datetime模块提供了datetime、date和time类型,datetime是最常用的。

from datetime import datetime,date,time
dt = datetime(2025,10,13,18,30,29)
dt.day
dt.minute


dt.date()
dt.time()

用strftime将datetime格式化为字符串,用strptime将字符串转化成datetime对象。

dt.strftime(%m/%d/%Y %H:%M)

datetime.strptime('20251013',%Y/%m/%d)

If、elif和else

检查一个条件,判断为True就执行后面的语句。

这里需要注意的是严格的缩进和判断语句后的冒号!!

if x < 0 :
    print(r'It's a negative')
elif x == 0:
    print('Equal to zero')
else:
    print(r'It's a positive')

当if语句中包含有and和or时候,会从左往右执行。

for循环

for循环是在一个集合(列表或者元组)中循环,或者干脆就是一个循环迭代器,标准语句是:

for value in collection:
    # do something with value



# 利用for循环计算1-100的和
sum = 0
for i in range(101):            # 这里101是因为range方法取头不取尾
    sum +=i

continue使for循环提前,break跳出for循环,break循环之中断最内层循环,其余的for循环还是会进行。

sequence1 = [1,2,None,5,None]
total1 = 0 
for item in sequence1:
    if value is None:
        continue
    total +=item


sequence2 = [1,4,3,2,5,1]
sum1 = 0
for value in sequence2:
    if value ==5:
        break
    sum1 +=value


for i in range(4):
    for j in range(4):
        if j>i:
            break
        print(i,j)

while循环

while循环指定了条件,当条件判断为False或者用break退出循环,pass可以作为未执行代码的占位符。

# 用while循环求1-100的和
i =100
sum = 0
while i>0:
    sum+=i
    i-=1

range函数返回一个迭代器,产生一个均匀分布的整数序列。range的三个参数是起点,重点,步长。需要注意的是range产生整数是不包含终点的。

list = list(range(0,20,2)

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐