Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/)是只需一种广泛使用的解释型、高级和通用的步零变量编程语言。Python支持多种编程范型,基础包括函数式、入门指令式、数据结构化、类型面向对象和反射式编程。只需它拥有动态类型系统和垃圾回收功能,步零变量能够自动管理内存使用,基础并且其本身拥有一个巨大而广泛的入门标准库。
Python有着范围广泛的数据基本数据类型。Python的类型一个非常有用方面就是容器类型的概念,容器有二种基本形式:序列和映射。只需有次序的步零变量序列类型是列表(动态数组)、元组和字符串。基础所有序列类型都是位置索引的(从0到长度?1),并且除了字符串,都可以包含任意类型的对象,在同一个序列中包括多种类型的对象。字符串和元组是服务器托管不可变的,使得它们成为字典的键的完美候选者。在另一方面,列表是可变的,元素可以被插入、删除、修改、添加或就地排序。
本篇内容总结包括从变量、输入输出到数据类型的基本介绍和常用方法。
Input程序可以提示用户输入。所有输入都存储为字符串。
提示输入值 >>> name = input("Whats your name? ") >>> print("Hello, " + name + "!") 提示输入数字 >>> age = input("How old are you? ") >>> age = int(age) >>> pi = input("Whats the value of pi? ") >>> pi = float(pi)字符串是 Python 中最常用的数据类型。我们可以使用引号(或")来创建字符串。创建字符串很简单,只要为变量分配一个值即可。亿华云计算
>>> my_string = thisStringIsAwesome >>> my_string thisStringIsAwesome列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现。
列表的数据项不需要具有相同的类型。
列表以特定的顺序存储一系列项目。列表允许将信息集存储在一个地方,无论只有几个项还是数百万项。列表是Python最强大的特性之一,新程序员可以很容易地访问它,它们将编程中的许多重要概念联系在一起。
使用方括号定义列表,使用逗号分隔列表中的各个项目。使用列表的复数名称,使您的代码更容易阅读。
>>> a = is >>> b = nice >>> my_list = [my, list, a, b] >>> my_list2 = [[4,5,6,7], [3,4,5,6]] >>> users = [val, bob, mia, ron, ned]一旦定义了列表,就可以更改列表中的单个元素。这可以通过引用要修改的云服务器提供商项的索引来实现。
>>> users[0] = valerie >>> users[-2] = ronald可以使用列表中的任何一组元素。根据列表中的元素的位置(称为索引)来访问它们,列表的一部分称为片。要切片列表,首先从您想要的第一个项目的索引开始,然后添加冒号和您想要的最后一个项目之后的索引。去掉列表开始处的第一个索引,去掉列表结束处的最后一个索引。
第一个元素的索引是0,第二个元素的索引是1,以此类推。
负索引指的是列表末尾的项。要获得特定的元素,请先写出列表的名称,然后在方括号中写出元素的索引。
# 子集 >>> my_list[1] # 选择索引1的项 >>> my_list[-3] # 最后选择第三项 # 切片 >>> my_list[1:3] # 选择索引1和索引2上的项 >>> my_list[1:] # 选择索引0之后的项 >>> my_list[:3] # 选择索引3之前的项 >>> my_list[:] # 复制my_list # 子集的子集 >>> my_list2[1][0] >>> my_list2[1][:2]列表可以包含数百万个项,因此Python提供了一种有效的方法来遍历列表中的所有项。当设置一个循环时,Python每次从列表中取出一项,并将其存储在一个临时变量中,为该临时变量提供了一个名称。这个名称应该是列表名称的单数版本。
缩进的代码块构成循环体,在循环体中可以处理每个单独的项。任何没有缩进的行在循环结束后运行。
>>> for bike in bikes: ... print(bike) 向列表中添加元素可以将元素添加到列表的末尾。
>>> bikes = [] >>> bikes.append(trek) >>> bikes.append(redline) >>> bikes.append(giant) 在特定位置插入元素可以将它们插入到列表中的任何位置。
>>> users.insert(0, joe) >>> users.insert(3, bea) 删除元素可以根据元素在列表中的位置或项的值删除元素。如果你通过一个项的值来移除它,Python只移除第一个具有该值的项。
# 通过位置删除 >>> del users[-1] # 通过值删除 >>> users.remove(mia) 列表排序方法的作用是永久地改变列表的顺序。sorted()函数返回列表的副本,保持原始列表不变。可以按字母顺序或反字母顺序对列表中的项目进行排序。还可以颠倒列表的原始顺序。
# 永久地对列表进行排序 >>> users.sort() # 以反字母顺序永久地对列表进行排序 >>> users.sort(reverse=True) # 临时排序 >>> print(sorted(users)) >>> print(sorted(users, reverse=True)) # 反向排序 >>> users.reverse() 列表推导式 >>> squares = [x**2 for x in range(1, 11)]可以使用range()函数有效地处理一组数字。range()函数默认从0开始,停止传递给它的数字下面的一个数字。可以使用list()函数来有效地生成大量的数字列表。
打印数字0-1000 >>> for number in range(1001): ... print(number) 打印数字1-1001 >>> for number in range(1, 1001): ... print(number) 列出从1到100万的数字 >>> numbers = list(range(1, 1000001))您可以在包含数字数据的列表上运行许多简单的统计数据。
最小值
>>> ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77] >>> youngest = min(ages)最大值
>>> ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77] >>> oldest = max(ages)求和
>>> ages = [93, 99, 66, 17, 85, 1, 35, 82, 2, 77] >>> total_years = sum(ages) >>> total_years 557元组与列表类似,但元组中的项不能被修改,即不可变数据类型。
>>> dimensions = (1920, 1080)字典存储在片段信息之间的建立联系。字典中的每一个项都是一个键-值对。当提供一个键时,Python将返回与该键相关联的值。可以循环遍历所有键-值对、所有键或所有值。
使用花括号来定义字典。使用冒号连接键和值,并使用逗号分隔单个键-值对。
>>> alien = { color: green, points: 5}要获取单个键关联的值,需提供字典的名称,然后将键放在一组方括号中。如果需要的键不在字典中,就会出现错误。
还可以使用get()方法,如果键不存在,该方法将返回None,而不是错误。如果键不在字典中,还可以指定要使用的默认值。
>>> print("The aliens color is " + alien[color]) "The aliens color is green" >>> alien_0 = { color: green, points: 5} >>> alien_color = alien_0.get(color) >>> alien_points = alien_0.get(points, 0) >>> print(alien_color) green >>> print(alien_points) None可以在字典中存储任意数量的键值对,直到计算机内存耗尽为止。要向现有字典添加新的键-值对,请在方括号中给出字典的名称和新键,并将其设置为新值。
这还允许您从一个空字典开始,并在它们变得相关时添加键-值对。
>>> alien_0 = { color: green, points: 5} >>> alien_0[x] = 0 >>> alien_0[y] = 25 >>> alien_0[speed] = 1.5 # 向空字典中添加新键值对 >>> alien_0 = { } >>> alien_0[color] = green >>> alien_0[points] = 5可以修改与字典中任何键相关联的值。为此,给出字典的名称并将键括在方括号中,然后为该键提供新值。
>>> alien_0 = { color: green, points: 5} >>> print(alien_0) >>> alien_0[color] = yellow >>> alien_0[points] = 10 >>> print(alien_0)您可以从字典中删除任何想要的键-值对。为此,请使用del关键字和字典名称,后跟方括号中的键。这将删除键及其关联值。
>>> alien_0 = { color: green, points: 5} >>> print(alien_0) >>> del alien_0[points] >>> print(alien_0)可以用三种方式循环遍历字典:可以循环遍历所有键-值对、所有键或所有值。字典只跟踪键和值之间的连接,它不跟踪字典中条目的顺序。如果希望按顺序处理信息,可以对循环中的键进行排序。
循环变量所有键值对 >>> fav_numbers = { eric: 17, ever: 4} >>> for name, number in fav_numbers.items(): ... print(name + loves + str(number)) 循环变量所有键 >>> av_numbers = { eric: 17, ever: 4} >>> for name in fav_numbers.keys(): ... print(name + loves a number) 循环变量所有值 >>> av_numbers = { eric: 17, ever: 4} >>> for number in fav_numbers.values(): ... print(str(number) + is a favorite) 按顺序循环遍历所有键 >>> av_numbers = { eric: 17, ever: 4} >>> for name in sorted(fav_languages.keys()): ... print(name + ": " + language)在字典中存储列表,允许将多个值与同一个键关联。
# 为每个人存储多种语言。 >>> fav_languages = { ... jen: [python, ruby], ... sarah: [c], ... edward: [ruby, go], ... phil: [python, haskell], ... } # 显示每个人的所有回答。 >>> for name, langs in fav_languages.items(): ... print(name + ": ") >>> for lang in langs: ... print("- " + lang)可以将一个字典存储在另一个字典中。在这种情况下,与键相关联的每个值本身就是一个字典。
>>> users = { ... aeinstein: { ... first: albert, ... last: einstein, ... location: princeton, ... }, ... mcurie: { ... first: marie, ... last: curie, ... location: paris, ... }, ... } >>> for username, user_dict in users.items(): ... print("\nUsername: " + username) ... full_name = user_dict[first] + " " ... full_name += user_dict[last] ... location = user_dict[location] ... print("\tFull name: " + full_name.title()) ... print("\tLocation: " + location.title()) Username: aeinstein Full name: Albert Einstein Location: Princeton Username: mcurie Full name: Marie Curie Location: Paris标准的Python字典不会跟踪键和值的添加顺序,它们只保留每个键及其值之间的关联。使用OrderedDict可以保持键和值的添加顺序。
>>> from collections import OrderedDict # 存储每个人的语言。 # 跟踪最先响应的人。 >>> fav_languages = OrderedDict() >>> fav_languages[jen] = [python, ruby] >>> fav_languages[sarah] = [c] >>> fav_languages[edward] = [ruby, go] >>> fav_languages[phil] = [python, haskell] # 按照输入的顺序显示结果 >>> for name, langs in fav_languages.items(): >>> print(name + ":") >>> for lang in langs: >>> print("- " + lang) jen: - python - ruby sarah: - c edward: - ruby - go phil: - python - haskell