Python 从入门到精通 学习笔记

发布时间:2023年12月21日

Python 从入门到精通

在这里插入图片描述

01.py

# 运行Hello Python程序
print("Hello Python")  # 输出结果 Hello Python

# 变量
message = "Hello Python World!"
print(message)  # 输出结果 Hello Python World!

message = "Hello Wrold"
# 在程序中可随时修改变量的值,而Python始终记录变量的最新值
print(message)  # 输出结果 Hello Wrold

# 使用方法修改字符串的大小写
name = "python i love you"
# title()方法以首字母大写的方式显示每个单词
print(name.title())  # 输出结果 Python I Love You
# upper()方法将字符串改为全大写
print(name.upper())  # 输出结果 PYTHON I LOVE YOU
# lower()方法将字符串改为全小写
print(name.lower())  # 输出结果 python i love you

# 在字符串中使用变量
first_name = "ada"
last_name = "lovelace"
# f 是format设置格式的简写
full_name = f"{first_name} {last_name}"
print(full_name)  # 输出结果ada lovelace
print(f"Hello,{full_name.title()}!")  # 输出结果 Hello,Ada Lovelace!
# 还可以使用f字符串来创建消息再把整条消息赋给变量
message = f"Nice to meet you,{full_name}!"
print(message)  # 输出结果 Nice to meet you,ada lovelace!

# 使用制表符或换行符来添加空白
print("\tPython")  # 输出结果 	Python
language = "languages:\n\tpython\n\tc\n\tjava"
print(language.title())
'''
输出结果
Languages:
	Python
	C
	Java
'''

# 删除空白
favorite_language = 'Python '
print(favorite_language.rsplit())  # 删除字符串右端空白
favorite_language2 = ' Go'
print(favorite_language2.lstrip())  # 删除字符串左端空包
favorite_language3 = ' C '
print(favorite_language3.split())  # 删除字符串两端空白

# 删除前缀
url = "https://www.baidu.com"
print(url.removeprefix("https://"))
# 如果想保留删除前缀后的值既可将其重新赋给原来的变量也可将其赋给另一个变量
new_url = url.removeprefix("https://")
print(new_url)

# 练习
# 用变量表示一个人的名字并向其显示一条消息。显示的消息应非常简单如下所示。
# Hello Eric, would you like to learn some Python today?

lianxi_name1 = "Eric"
print(f"Hello {lianxi_name1}, would you like to learn some Python today?")

# 用变量表示一个人的名字再分别以全小写、全大写和首字母大写的方式显示这个人名。
lianxi_name2 = "toM"
lianxi_uppername = lianxi_name2.upper()
print(lianxi_uppername)
lianxi_lowername = lianxi_name2.lower()
print(lianxi_lowername)

# 找到你钦佩的名人说的一句名言将这个名人的姓名和名言打印出来。输出应类似于下面这样包括引号。
# Albert Einstein once said, “A person who never made a mistake never tried anything new.“
print('Albert Einstein once said, "A person who never made a mistake never tried anything new."')

filename = 'Python_notes.txt'
print(filename.removesuffix(".txt"))

# 在 Python 中可对整数integer执行加+减-乘*除/运算。
# Python 使用两个乘号**表示乘方运算
# Python 将带小数点的数称为浮点数float
# 在书写很大的数时可使用下划线将其中的位分组使其更清晰易读
universe_age = 14_000_000_000
print(universe_age)
# 同时给多个变量赋值,将变量 x、y 和 z 都初始化为零
x, y, z = 0, 0, 0
print(x, y, z)

#在代码中要指出应将特定的变量视为常量可将其变量名全大写。
MAX_CONNECTIONS = 5000
print(MAX_CONNECTIONS)

02.py

# 列表list由一系列按特定顺序排列的元素组成
# 在 Python 中用方括号[]表示列表用逗号分隔其中的元素
languages = ['Java', 'C', 'C#', 'python', 'Go', 'PHP', 'C++']
print(languages)
# 索引从 0 而不是 1 开始
print(languages[0])
# 通过将索引指定为 -1可让 Python 返回最后一个列表元素
print(languages[-1])

message = f"I like {languages[3].title()}!"
print(message)

# 修改列表元素
languages[0] = 'javascript'
print(languages)

# 在列表中添加元素
# 在列表末尾添加元素
languages.append('VB')
print(languages)

# 在列表中插入元素
languages.insert(0, 'R')
print(languages)

# 使用 del 语句删除元素
del languages[-2]
print(languages)

# 使用 pop() 方法删除元素
print(languages.pop())
print(languages.pop(1))
print(languages)

# 根据值删除元素
languages.append("C")
languages.remove("C")
print(languages)

# 使用 sort() 方法对列表进行永久排序
cars = ['BMW', 'Audi', 'Toyota', 'Subaru']
cars.sort()
print(cars)
cars.sort(reverse=True)
print(cars)

# 使用 sorted() 函数对列表进行临时排序
# sorted() 函数让你能够按特定顺序显示列表元素同时不影响它们在列表中的排列顺序。
numbers_a = ['2', '1', '3', '5', '4']
numbers_b = sorted(numbers_a)
print(numbers_b)
print(numbers_a)

# 反向打印列表
# 要反转列表元素的排列顺序可使用 reverse() 方法。
print(numbers_a)
numbers_a.reverse()
print(numbers_a)

# 确定列表的长度
# 使用 len() 函数可快速获悉列表的长度
print(len(numbers_a))

# 练习 想出至少 5 个你想去旅游的地方。
'''
将这些地方存储在一个列表中并确保其中的元素不是按字母顺序排列的。
按原始排列顺序打印该列表。不要考虑输出是否整洁只管打印原始 Python 列表就好。
使用 sorted() 按字母顺序打印这个列表不要修改它。再次打印该列表核实排列顺序未变。
使用 sorted() 按与字母顺序相反的顺序打印这个列表不要修改它。再次打印该列表核实排列顺序未变。
使用 reverse() 修改列表元素的排列顺序。打印该列表核实排列顺序确实变了。
使用 reverse() 再次修改列表元素的排列顺序。打印该列表核实已恢复到原来的排列顺序。
使用 sort() 修改该列表使其元素按字母顺序排列。打印该列表核实排列顺序确实变了。
使用 sort() 修改该列表使其元素按与字母顺序相反的顺序排列。打印该列表核实排列顺序确实变了
'''
lvyou_place = ['西安', '海南', '重庆', '杭州', '北京', '天津']
print(lvyou_place)
lvyou_place1 = sorted(lvyou_place)
print(lvyou_place1)
lvyou_place2 = sorted(lvyou_place1, reverse=True)
print(lvyou_place2)
lvyou_place2.reverse()
print(lvyou_place2)
lvyou_place2.reverse()
print(lvyou_place2)
lvyou_place2.sort()
print(lvyou_place2)
lvyou_place2.sort(reverse=True)
print(lvyou_place2)

# 操作列表
# 遍历整个列表
xiaomanshenghuo = ['yeyifan', 'chenli', 'houyuanyuan', 'hejiaru', 'tiantian', 'tiandong']
for people in xiaomanshenghuo:
    print(people)

# 深入研究循环
# 在for循环中执行更多的操作
animals = ['monkey', 'dog', 'cat']
for animal in animals:
    print(f"{animal.title()}, hava a good time!")
    print("hava fun!")
print("I'm ok! Thank you!")

# 创建数值列表
# 使用 range() 函数
# Python 函数 range() 让你能够轻松地生成一系列的数
for value in range(1, 5):
    print(value)
    # range() 函数让 Python 从指定的第一个值开始数并在到达指定的第二个值时停止
    # 因此输出不包含第二个值这里为 5。
# 使用 range() 创建数值列表
# 要创建数值列表可使用 list() 函数将 range() 的结果直接转换为列表
# 将range() 作为 list() 的参数输出将是一个数值列表
numbers = list(range(1, 5))
print(numbers)
# 打印 1-10 的偶数
even_numbers = list(range(2, 11, 2))
print(even_numbers)
# 将前 10 个整数的平方加入一个列表
squares = []
for value in range(1, 11):
    square_number = value ** 2
    squares.append(square_number)
print(squares)

# 对数值列表执行简单的统计计算
digits = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
print(min(digits))
print(max(digits))
print(sum(digits))

# 列表推导式
# 列表推导式list comprehension将 for 循环和创建新元素的代码合并成一行并自动追加新元素。
squares1 = [value**2 for value in range(1,11)]
print(squares1)

#列表切片
players = ['yaoming','subingtian','sunyang','fanzhendong','yangqian','guojingjing','langping']
print(players[0:3])
print(players[:4])
print(players[2:])
print(players[-3:])

# 遍历切片
print("Here are the first three players on my team :")
for player in players[:3]:
    print(player.title())

# 复制列表
my_foods = ['pizza','falafel','carrot cake']
friend_foods = my_foods[:]
print("my favorite foods are :")
print(my_foods)
print("\nmy friend's favorite foods are :")
print(friend_foods)

my_foods.append("cannoli")
friend_foods.append("ice cream")
print("my favorite foods are :")
print(my_foods)
print("\nmy friend's favorite foods are :")
print(friend_foods)

03.py

# 列表非常适合用于存储在程序运行期间可能变化的数据集。
# 列表是可以修改的这对于处理网站的用户列表或游戏中的角色列表至关重要
# Python 将不能修改的值称为不可变的而不可变的列表称为元组tuple。

# 定义元组
# 元组看起来很像列表但使用圆括号而不是方括号来标识。
dimensions = (200, 50)
print(dimensions[0])
print(dimensions[1])

# Python不能给元组的元素赋值
# 要定义只包含一个元素的元组必须在这个元素后面加上逗号
my_t = (3,)
# 创建只包含一个元素的元组通常没有意义但自动生成的元组有可能只有一个元素。

# 遍历元组中的所有值
for dimension in dimensions:
    print(dimension)

# 修改元组变量
# 虽然不能修改元组的元素但可以给表示元组的变量赋值。
dimensions1 = (200, 50)
print("Original dimensions:")
for dimension1 in dimensions1:
    print(dimension1)

dimensions1 = (400, 100)
print("\nModified dimensions:")
for dimension1 in dimensions1:
    print(dimension1)

# 练习
# 有一家自助式餐馆只提供 5 种简单的食品。请想出 5 种简单的食品并将其存储在一个元组中。
'''
使用一个 for 循环将该餐馆提供的 5 种食品都打印出来。
尝试修改其中的一个元素核实 Python 确实会拒绝你这样做。
餐馆调整菜单替换了两种食品。请编写一行给元组变量赋值的代码并使用一个 for 循环将新元组的每个元素都打印出来。
'''
print("本店的食品如下:")
foods = ('老醋六样','锅包肉','糖醋里脊','烤鱼','拔丝地瓜')
for food in foods:
    print(food)
# foods[0] = '麻辣兔头'
# TypeError: 'tuple' object does not support item assignment
print("\n现在的食品如下:")
foods = ('麻辣兔头','锅包肉','糖醋里脊','大拉皮','拔丝地瓜')
for food in foods:
    print(food)

# PEP 8 是最古老的 PEP 之一向 Python 程序员提供了代码格式设置指南。
# PEP 8 建议每级缩进都使用 4 个空格。
# 很多 Python 程序员建议每行不超过 80 个字符。
# 要将程序的不同部分分开可使用空行。

# if语句
cars = ['audi','bmw','subaru','toyota']
for car in cars:
    if car == 'bmw':
        print(car.upper())
    else:
        print(car.title())

request_topping = 'mushrooms'
if request_topping != 'anchovies':
    print("Hold the anchovies")

request_topping = ['mushrooms','onions','pineapple']
print('mushrooms' in request_topping)

age = 18
print(age == 18)

answer = 17
if answer != 42:
    print("That is not the correct answer.Please try again")

age = 17
print(age<21)
print(age<=21)
print(age>21)
print(age>=21)

age_0 = 22
age_1 = 18
print(age_0 >= 21 and age_1>=21)
age_1 = 22
print(age_0 >=21 and age_1>=21)

age_0 = 22
age_1 = 18
print(age_0 >= 21 or age_1>=21)
age_0 = 18
print(age_0 >= 21 or age_1>=21)

banned_user = ['andrew','carolina','david']
user = 'marie'

if user not in banned_user:
    print(f"{user.title()},you can post a response if you wish.")


requested_toopings = ['mushrooms','green peppers','extra cheese']

for requested_tooping in requested_toopings:
    if requested_tooping == "green peppers":
        print("Sorry,we are out of green peppers right now.")
    else:
        print(f"Adding {requested_tooping}.")
print("\nFinished making your pizza!")

requested_toopings = []
if requested_toopings:
    for requested_tooping in requested_toopings:
        print(f"Adding {requested_tooping}")
    print("\nFinished making your pizza")
else:
    print("Are you sure you want a plain pizza?")
文章来源:https://blog.csdn.net/weixin_49562699/article/details/134918472
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。