前文
希望您能看完我的文章,并点赞且在评论区鼓励支持我以及给出建议。
继续昨天学到的字符串数据类型,今天我探索了其他一些功能。
格式化字符串
字符串格式化是一项简洁的功能,可让我们动态更新字符串内容。假设我们从服务器获取了用户信息,并希望基于该信息显示自定义消息。第一个想法是应用字符串连接,例如
first_name = 'Tom'
last_name = 'Cruise'
welcome_message = "Welcome" + " " + first_name + " " + last_name
print(welcome_message) # Welcome Tom Cruise
该f字符串表示之前格式化字符串。动态值放在 {},这是一种更简洁的语法。
字符串索引
Python中的字符串只是字符的有序集合。因此,我们可以用它做很多很酷的技巧。我们可以访问字符串的字符,选择子字符串,反转字符串,而且非常容易。这也称为字符串切片。
language = 'python'
first_character = language[0] # indexing starts from 0
second_character = language[1]
print(first_character) # p
print(second_character) # y
# Strings can be manipulated easily with this syntax [start:stop:step-over]
range_1 = language[0:2] # here it starts from index 0 and ends at index 1
range_2 = language[0::1] # starts at 0, stops at end with step over 1
range_3 = language[::2] # starts at 0, till end with step 2
range_4 = language[1:] # starts at index 1 till end of string
range_5 = language[-1] # selects last character
range_6 = language[-2] # second last character
reverse_string = language[::-1] # starts from end and reverses the string
reverse_string_2 = language[::-2] # reverses string and skips 1 character
print(range_1) # py
print(range_2) # python
print(range_3) # pto
print(range_4) # ython
print(range_5) # n
print(range_6) # o
print(reverse_string) # nohtyp
print(reverse_string_2) # nhy
不变性
字符串本质上是不可变的。这意味着字符串的值不能被篡改或更改。
favorite_website = 'dev.to'
favorite_website[0] = 'w'
print(favorite_website) # TypeError: 'str' object does not support item assignment
内置的字符串函数和方法
Python具有一些内置函数和方法来对字符串数据类型进行操作。函数通常是可以像这样独立调用的动作,print() round()而方法只是对象的一部分并由.运算符调用的简单函数。
布尔型
如boolpython中所示的布尔值,并存储True或False。
is_cool = True
is_dirty = False
print(10 > 9) # True
评论
注释是用代码编写的语句,以增强其可读性。在Python中,它们是在#符号后加上注释的。注释将被解释器忽略,仅用于代码可读性目的。我已经在代码示例中使用它们来打印输出或添加一些注释。根据良好的编程习惯,我们应该尽可能使我们的代码更具可读性,就像阅读英语,并仅在需要时才向其中添加注释,因为带有过多注释的膨胀代码会适得其反。
# This is not a very useful comment but written just for the sake of demonstration
清单
列表是重要
的数据类型。它们是对象的有组织的集合。它也是一个数据结构,这意味着一个容器以某种特定格式组织数据以用于不同的目的。
favorite_languages = ['javascript', 'python', 'typescript']
shopping_cart_items = ['pen','toothbrush', 'sanitizer','eraser']
random_things = ['football', 123, True, 'developer', 777]
first_item = shopping_cart_items[0]
print(first_item) # 'pen'
列表切片
与字符串类似,可以对列表进行切片。但是,列表与字符串不同,它是可变的,这意味着可以更改其数据。
soccer_stars = ['ronaldo', 'messi','ibrahimovic','zidane','beckham']
soccer_stars[0] = 'suarez'
print(soccer_stars) # ['suarez', 'messi','ibrahimovic','zidane','beckham']
range = soccer_stars[0:3]
print(range) # ['suarez', 'messi', 'ibrahimovic']
print(soccer_stars) # ['suarez', 'messi','ibrahimovic','zidane','beckham']
# Note : Slicing lists does not mutate them
clone = soccer_stars[:] # copies the list. Commonly used in Python
print(clone) # ['suarez', 'messi','ibrahimovic','zidane','beckham']
reverse_order = soccer_stars[::-1] # reverses the order of data
print(reverse_order) # ['beckham', 'zidane', 'ibrahimovic', 'messi', 'suarez']
矩阵
列表可以是多维的。我上面提到的列表示例都是一维或一维的。但是,我们可以在列表内包含列表。所以二维列表看起来像这样
matrix_2 = [[1,3,2], [1,3,2], [2,3,4], [2,3,5]]
first_item = matrix_2[0]
print(first_item) # [1,3,2]
first_item_first_element = matrix_2[0][0] # or first_item[0]
print(first_item_first_element) # 1
同样,我们可以在列表中嵌套任意数量的列表,以创建与我们在小学中学到的数学矩阵相似的不同维度的矩阵。这种矩阵数据有助于存储诸如图像之类的复杂数据,并用于机器学习模型。探索它们并稍后详细查看它们的实际应用将非常有趣。
今天还会继续学习List的其余概念,例如其功能和方法以及其他模式,然后学习剩余的数据类型字典,元组,集合和全无。
我是一个有货的程序员
西电2013级网络工程毕业,供职国内某猪厂
会经常分享一些更适合初学者的Python知识
想跟我学习的朋友可以关注我,尽量坚持每天更新
关注我,学习Python不迷路!