Python学习笔记 (参考书籍:Python编程 从入门到实践)Updating...

本文介绍了Python中的变量定义、字符串处理、数字类型、列表操作,包括列表的创建、修改、遍历以及if语句和字典的基础概念。通过实例演示了如何使用if-else判断、字典的键值对操作和用户输入的处理。

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

目录

第一章:变量和简单数据类型

变量

1. 在Python里,变量可以直接定义。编译器会自动判别数据类型。比如:

message = "Hello world!"
print(message)

运行结果将会是:

Hello world!

2. 变量取名规则同C++

字符串

1. 字符串可用单引号或者双引号括起(二者皆可)。

"This is a string."
'This is also a string.'

2. 修改字符串中单词大小写

name = 'ada lovelace'
print(name.title())

运行结果是:

Ada Lovelace

其他几个类似的函数有:

  1. title 首字母大写
  2. upper 所有单词大写
  3. lower 所有单词小写

3. 在字符串中使用变量

first_name = 'ada'
last_name = 'lovelace'
full_name = f"{first_name} {last_name}"
print(full_name)

运行结果是:

ada lovelace

其中,f字符串中的f是format的简写。
f字符串还能完成很多任务,如

first_name = 'ada'
last_name = 'lovelace'
full_name = f"{first_name} {last_name}"
print(f"Hello, {full_name.title()}!")

运行结果是:

Hello, Ada Lovelace!

4. 删除空白
rstrip: 删除末尾空白
lstrip: 删除开头空白
strip: 删除两侧空白

1. 整数

用法同C++,可进行+ — * /四则运算。

整数中的下划线
书写较大的数时,可以用下划线给数字分组:

INF = 999_999_999_999

当打印这个数字时,会忽略下划线。

2. 浮点数

浮点数进行运算后得到的结果,小数位可能是不确定的。当然也有处理这种情况的方法。

任意两个数相除时,结果总是浮点数。

3. 同时给多个变量赋值

如:

x, y, z = 1, 2, 3

注释

在Python中,注释用#表示。



第二章:列表简介

什么是列表

在Python中,用方括号[]表示列表,并用逗号分隔其中的元素。如:

fruits = ['apple', 'banana', 'orange']
print(fruits)

运行结果是:

['apple', 'banana', 'orange']

即直接打印列表,将会把所有元素打印,包括方括号和引号。

1. 访问列表元素

若要打印第一个元素,可以写成:

print(fruits[0])

运行结果是:

apple

即列表类似于数组
,可以用中括号+序列的方式直接访问。

2. 索引用法

索引不仅可以是从0开始的自然数,也可以是负数。如-1就表示列表中最后一个元素。

print(fruits[-1])

运行结果是:

orange

修改、添加和删除元素

1. 修改列表元素

如要修改第一个元素,直接fruits[0] = 'lemon’
即可。

2. 添加元素

在末尾添加元素

使用append函数。用法如下:

fruits.append("watermelon")

即在末尾添加了元素watermelon。类似于vector容器。

在列表中插入元素

使用insert函数。用法如下:

fruits.insert(0, 'shit')

即在第一个位置插入了元素,其后所有元素往后移一格。

3. 从列表中删除元素

使用del语句

del fruits[0]

即删除第一个元素。前提是知道要删除元素的索引。

使用pop()函数

pop即弹出最后一个元素,且可以获得其值。

弹出任意位置的元素

只需要在pop()的括号中加上索引即可。如fruits.pop(0)
就是弹出fruits中的第一个元素。

根据值删除元素
Important

使用remove
函数。用法如fruits.remove(‘banana’),则让Python确定’banana’出现的位置,并删除它。

如果要利用remove的元素值,则需要提前定义一个变量保存其值再删除。

注意:
remove只能将目标值删除一次,如果要全部删除重复出现多次的元素,则需要多次循环使用。

组织列表

1. 使用sort()对列表永久排序

用法如:

fruits.sort()

则按照升序排列fruits。如果要按照降序排列,则需写成:

fruits.sort(reverse=True)

2. 使用sorted()对列表进行临时排序

用法如:

sorted(fruits)

此时fruits的值未改变,只是创建了一个临时变量列表sorted(fruits)。

3. 倒着打印列表

使用reverse函数:

fruits.reverse()

则使fruits列表中元素排列变为倒序。

4. 确定列表长度

使用函数len():

len(fruits)

第三章:操作列表

遍历整个列表

使用for循环来打印fruits中所有元素:

for fruit in fruits:
    print(fruit)

注意:
打印会自动换行。

1. 深入研究循环

for temp in list:

注意记住这个冒号:

temp相当于list[i],i的值从0到len(list) - 1。

2. 在for循环中执行更多操作

有一个需要注意的地方就是,在python中没有中括号{},全靠缩进判断语句块。一个缩进 = 四个空格。

创建数值列表

1. 使用函数range()

如果要打印一系列数,可写成:

for value in range(1, 5)
    print(value)

打印结果为:

1
2
3
4

可见range(1,5)表示1~4。相当于for (int i=1; i<5; i++)

也可以用一个数作为参数,如range(5),表示0~4。

2. 对数字列表进行简单计算

min(), max()函数即为求最小值与最大值。

sum()即为求数字列表元素值之和。

使用列表的一部分

1. 切片

使用方法如:

print(fruits[0:3])

表示只打印fruits前三个元素。

当第一个参数缺省时,则从第一个元素开始打印;当第二个参数缺省时,则打印到最后一个元素;都缺省时,则表示整个列表。

2. 遍历切片

用法如下:

for fruit in fruits[1:4]

3. 复制列表

直接用=赋值:

plants = fruits[:]

元组

元组中的元素是不可变的

1. 定义元组

dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])

打印结果是:

200
50

注意:

如果要定义一个只有一个元素的元组,必须含有一个逗号,如:

my_t = (3,)

即逗号才是元组本体。

2. 遍历元组中所有值

for dimension in dimensions:
    print(dimension)

3. 修改元组变量

虽然不能修改元组中单一元素,但可以重新定义整个元组。

dimensions = (200, 50)
dimensions = (100, 100)

第四章:if语句

条件测试

1. 数值比较

用法同C++
,即相等是==,不相等是!=。大于、小于、大于等于、小于等于都相同。

2. 检查多个条件

使用and检查多个条件

Python中的and同C++中的&&

使用or检查多个条件

Python中的or同C++中的||

3. 检查特定值是否包含在列表中

fruits = ['apple', 'banana', 'orange']
'apple' in fruits

则会返回Ture。

4. 检查特定值是否不包含在列表中

fruits = ['apple', 'banana', 'orange']
if 'cat' not in fruits:
    print('Yes')

则会打印Yes

5. 布尔表达式

就是bool型变量。

if语句

1. 简单的if语句

形式如下:

if condition:
    do something

2. if-elif-else 语句

if condition1:
    do something
elif condition2:
    do something
else:
    do something

第五章:字典

一个简单的字典

alien = {'color': 'green', 'point': 5}
print(alien['color'])
print(alien['point'])

打印结果为:

green
5

字典类似于C++中的结构体。

使用字典

在python中,字典是一系列键值对。键和值之间用冒号(:)分隔,而键值对之间用逗号分隔。

1. 访问字典中的值

name[key]

2. 添加键值对

直接定义键值对就可以添加,如:

alien = {'color': 'green', 'point': 5}
alien['x_pos'] = 10
aline['y_pos'] = 12

即在alien后面添加了两个键值对。

3. 创建一个空字典

{}是字典的本体,则定义一个空字典为:

aline = {}

4. 修改字典中的值

直接修改即可。

5. 删除键值对

使用del函数

alien = {'color': 'green', 'point': 5}
del alien['color']

即把alien[‘color’]删除。

6. 使用get()来访问值

alien = {'color': 'green', 'point': 5}
point_value = alien.get('point', 'No point value')

此可避免当point不存在时,程序报错。若point不存在,则会返回值’No point value’。

遍历字典

1. 遍历所有键值对

alien = {'color': 'green', 'point': 5}

for key, value in alien.items():
    print(f"key: {key}\n value: {value}")

其中items()的作用是将字典类型转换为可遍历的元组

2. 遍历所有键

alien = {'color': 'green', 'point': 5}

for key in alien.keys():
    print(f"key: {key}")

3. 遍历所有值

alien = {'color': 'green', 'point': 5}

for value in alien.values():
    print(f"value: {value}")

ps:
可以使用set()剔除重复项。如set(alien.values())。

嵌套

在列表中嵌套字典,在字典中嵌套列表,在字典中嵌套字典。也就是列表与字典的相互包含关系。

1. 字典列表

alien_0 = {'color':'green', 'point':5}
alien_1 = {'color':'yellow', 'point':10}
alien_2 = {'color':'red', 'point':15}

aliens = [alien_0, alien_1, alien_2]

for alien in aliens:
    print(alien)

打印结果为:

{'color':'green', 'point':5}
{'color':'yellow', 'point':10}
{'color':'red', 'point':15}

即将三个字典alien_存储到aliens的列表中。当然,也可以用循环和append函数生成字典。

2. 在字典中存储列表

pizza = {
    'crust': 'thick',
    'toppings': ['mushrooms', 'extra cheese'], #列表
}

for topping in pizza['toppings']:
    print("\t" + topping)

打印结果为:

    mushrooms
    extra cheese

3. 在字典中存储字典

在字典中嵌套字典,代码可能很快复杂起来。

users = {
    'aeinstein': {
        'first': 'albert',
        'last': 'einstein',
        'location': 'princeton',
    },

    'mcurie': {
        'first': 'marie',
        'last': 'curie',
        'location': 'paris',
    },                       #注意不要忘记逗号!
}

for username, user_info in users.items():
    print(f"\nUsername: {username}")
    full_name = f"{user_info['first']} {user_info['lat']}"
    location = user_info['location']

    print(f"\tFull name: {full_name.title()}")
    print(f"\tLocation: {location.title()}")

打印结果是:

Username: aeinstein
    Full name: Albert Einstein
    Loction: Princeton

Username: mcurie
    Full name: Marie Curie
    Loction: Paris

第六章:用户输入和while循环

函数input()的工作原理

message = input("Please put something: ")
print(message)

函数input()相当于cin。而且可以向input传入一个参数,成为向用户显示的提示(prompt)。

使用int()来获取数值输入

其实也就是input()获得的全是字符串类型,可以用message = int(message)这种强制转换来获得整型变量。

while循环简介

1. 使用while循环

curNum = 1
while curNum <= 5:  #冒号不要忘记
    print(curNum)
    cunNum += 1

打印结果自然为:

1
2
3
4
5

2. 让用户选择何时退出

提前设置一个退出值,只要用户输入的不是这个数,循环就继续运行。

message = ""
while message != 'quit':
    message = input("Tell me sth and I will repeat it back to you:")
    if message != 'quit':
        print(message)

则该程序会重复用户所输入的数据,直到输入"quit",程序结束。

3. 使用标志

如果有多种情况导致while循环结束,要在一条while语句中检查所有这些条件,将复杂且困难。

在这种情况下,可定义一个变量,用于判断整个程序是否处于活动状态,这个变量称为标志(flag)。在flag为True时运行,为False时结束。

active = True
while active:
    message = input()
    if message ==  'quit':
        active = False
    else:
        print(message)

这么看好像标志就是很普通的一个用于判断的布尔型变量嘛= =?我还以为是刺激的新函数噢。

4. 使用break退出循环

在任何循环中都可以使用break语句。直接上代码:

while True:
    message = input()
    if message == 'quit':
        break
    else:
        print(message)

5. 在循环中使用continue

continue即跳过循环体剩下的步骤,直接进行下次循环。

curNum = 0
while curNum < 10:
    if curNum % 2 ==0:
        continue
    print(curNum)

程序目的是打印0~9范围类的奇数。

6. 避免无限循环

Ctrl+C,直接让程序升天。

使用while循环处理列表和字典

1. 在列表之间移动元素

unconfirmed_users = ['alice', 'brian', 'candace']
confirem_users = []

while unconfirmed_users:
    current_user = unconfirmed_users.pop()
    confirmed_users.append(current_user)

这种就是从一个列表中弹出最后一个元素,使用append函数放入另一列表中。直到第一个列表为空,第二个列表中的元素即为原列表中元素的倒序。

2. 删除为特定值的所有列表元素

前面介绍的remove函数,只能删除第一个出现在列表中的特定值。若要删除所有为特定值的元素,则可使用while循环。

pets = ['cat', 'dog', 'cat', 'cow', 'chicken', 'duck', 'cat']
while 'cat' in pets:
    pets.remove('cat')

虽然好用,但是肉眼可见的Python运行速度有多慢……

3. 使用用户输入来填充字典

先用一个临时变量存储用户输入信息,再将其存储到字典中。

函数

定义函数

一个简单的打印信息函数代码如下:

def greet():  #不要忘了冒号!
    print("Hello!")

greet()

关键字def函数定义,用于向Python指出函数名。另外,记得以冒号结尾。

1. 向函数传递信息

def greet(username):
    print(f"Hello, {username}!")

greet("Alice")

同C++,在定义函数的括号里加入参数。

传递实参

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值