当前位置: 首页 > 科技观察

只需七步!零基础入门Python变量和数据类型

时间:2023-03-13 22:38:24 科技观察

Python(英式发音:/?pa?θ?n/美式发音:/?pa?θɑ?n/)是一种广泛使用的解释型、高级、通用编程语言。Python支持多种编程范式,包括函数式、命令式、结构化、面向对象和反射式编程。它有一个动态类型系统和垃圾收集,自动管理内存使用,并有一个庞大而广泛的自己的标准库。Python具有广泛的原始数据类型。Python的一个非常有用的方面是容器类型的概念,它有两种基本形式:序列和映射。有序序列类型是列表(动态数组)、元组和字符串。所有序列类型都是位置索引(从0到长度~1),除了字符串,可以包含任何类型的对象,包括同一序列中的多种类型的对象。字符串和元组是不可变的,使它们成为字典中键的完美候选者。另一方面,列表是可变的,可以就地插入、删除、修改、添加或排序元素。本文内容概要包括从变量、输入输出到数据类型的基本介绍和常用方法。1.变量与类型转换变量赋值>>>x=5>>>x5变量计算>>>x+2#两个变量之和7>>>x-2#两个变量相减3>>>x*2#两个变量相乘10>>>x**2#求变量的次方25>>>x%2#变量1的余数>>>x/float(2)#变量的除法2.5类型与类型转换方法示例str()5','3.45','True'Stringint()5,3,1Integerfloat()5.0,1.0浮点数bool()True,True,TrueBoolean2.获取帮助>>>help(str)3.输入输出print>>>print("Helloworld!")>>>msg="Helloworld!">>>print(msg)InputInput程序可以提示用户输入。所有输入都存储为字符串。提示输入一个值>>>name=input("What'syourname?")>>>print("Hello,"+name+"!")提示输入一个数字>>>age=input("Howoldareyou?")>>>age=int(age)>>>pi=input(“pi的值是多少?”)>>>pi=float(pi)4.StringString是Python中最常用的数据类型。我们可以使用引号('或")来创建字符串。创建字符串就像给变量赋值一样简单。>>>my_string='thisStringIsAwesome'>>>my_string'thisStringIsAwesome'字符串操作>>>my_string*2#乘法'thisStringIsAwesomethisStringIsAwesome'>>>my_string+'Innit'#splicing'thisStringIsAwesomeInnit'>>>'m'inmy_string#是否存在True#index从零开始>>>my_string[3]>>my_string[4:9]字符串方法>>>my_string.upper()#字符串大写>>>my_string.lower()#字符串小写>>>my_string.count('w')#计算字符串的元素>>>my_string.replace('e','i')#替换字符串元素>>>my_string.strip()#去掉空格5.ListList是最常用的Python数据类型,可以作为逗号分隔值在方括号中出现.列表的数据项不必是同一类型。列表按特定顺序存储一系列项目。列表允许将一组信息存储在一个地方,无论它只有几个项目还是数百万件物品。列表是Python最强大的功能之一,新程序员可以轻松访问,并且它们将编程中的许多重要概念联系在一起。使用方括号定义列表,使用逗号分隔列表中的项目。对列表使用复数名称可以使您的代码更易于阅读。>>>a='是'>>>b='不错'>>>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,依此类推。负索引指的是列表末尾的项目。要获取特定元素,请在方括号中写入列表名称,后跟元素索引。#Subset>>>my_list[1]#选择index1上的item>>>my_list[-3]#最后选择第三个item#Slicing>>>my_list[1:3]#选择index1和index上的item2item>>>my_list[1:]#选择索引0之后的项目>>>my_list[:3]#选择索引3之前的项目>>>my_list[:]#复制my_list#子集的子集>>>my_list2[1][0]>>>my_list2[1][:2]列表操作>>>my_list+my_list['my','list','is','nice','my','list','is','nice']>>>my_list*2['my','list','is','nice','my','list','is','nice']>>>my_list2>4真列表法>>>my_list.index(a)#获取item的index>>>my_list.count(a)#计算一个item>>>my_list.append('!')#每次加一个item>>>my_list.remove('!')#删除一个项目>>>del(my_list[0:1])#删除一个项目>>>my_list.reverse()#反转列表>>>my_list.extend('!')#添加一个项目>>>my_list.pop(-1)#删除一个项目>>>my_list.insert(0,'!')#插入一个项目>>>my_list.sort()#SortedList遍历Lists可以包含数百万个项目,因此Python提供了一种有效的方法来迭代中的所有项目一个列表。设置循环时,Python每次从列表中取出一项并将其存储在临时变量中,并为临时变量命名。此名称应该是列表名称的单数形式。缩进的代码块构成了循环的主体,可以在其中处理每个单独的项目。循环结束后运行任何未缩进的行。>>>forbikeinbikes:...print(bike)向列表中添加元素可以将元素添加到列表的末尾。>>>bikes=[]>>>bikes.append('trek')>>>bikes.append('redline')>>>bikes.append('giant')在特定位置插入元素可以将它们插入到任何地方在列表中。>>>users.insert(0,'joe')>>>users.insert(3,'bea')删除元素您可以根据元素在列表中的位置或项目的值来删除元素。如果按值删除项目,Python只会删除具有该值的第一个项目。#按位置删除>>>delusers[-1]#按值删除>>>users.remove('mia')列表排序方式的作用是永久改变列表的顺序。sorted()函数返回列表的副本,原始列表保持不变。列表中的项目可以按字母顺序或反向字母顺序排序。您还可以颠倒列表的原始顺序。#对列表进行永久排序>>>users.sort()#对列表进行倒序排序>>>users.sort(reverse=True)#临时排序>>>print(sorted(users))>>>print(sorted(users,reverse=True))#reversesorting>>>users.reverse()listcomprehension>>>squares=[x**2forxinrange(1,11)]range()函数可以使用range()函数有效地操纵一系列数字。range()函数默认从0开始,并在传递给它的数字下方一个数字停止。您可以使用list()函数有效地生成大型数字列表。打印数字0-1000>>>fornumberinrange(1001):...print(number)打印数字1-1001>>>fornumberinrange(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)sum>>>ages=[93,99,66,17,85,1,35,82,2,77]>>>total_years=sum(ages)>>>total_years5576.元组元组类似于列表,但元组中的项不能修改,即不可变数据类型。>>>dimensions=(1920,1080)7.字典字典中存放的是片断之间的连接信息。字典中的每个条目都是一个键值对。提供键后,Python将返回与该键关联的值。您可以遍历所有键值对、所有键或所有值。使用大括号定义字典。使用冒号连接键和值,使用逗号分隔各个键值对。>>>alien={'color':'green','points':5}获取字典值(查找)要获取与单个键关联的值,提供字典的名称,然后将键括在一组方括号。如果所需的键不在字典中,则会发生错误。您还可以使用get()方法,如果键不存在,该方法将返回None而不是错误。如果键不在字典中,您还可以指定要使用的默认值。>>>print("Thealien'scoloris"+alien['color'])"Thealien'scolorisgreen">>>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修改字典值(change)可以修改与字典中任何键关联的值。为此,为字典命名并将键括在方括号中,然后为该键提供新值。>>>alien_0={'color':'green','points':5}>>>print(alien_0)>>>alien_0['color']='yellow'>>>alien_0['points']=10>>>print(alien_0)删除字典键值对(delete)你可以从字典中删除任何需要的键值对。为此,请使用del关键字和字典名称,后跟方括号中的键。这将删除键及其关联的值。>>>alien_0={'color':'green','points':5}>>>print(alien_0)>>>delalien_0['points']>>>print(alien_0)可以使用字典循环以三种方式遍历字典的方法:可以遍历所有的键值对,所有的键,或者所有的值。字典只记录键和值之间的联系,不记录条目在字典中的顺序。如果希望信息按顺序处理,可以在循环中对key进行排序。循环变量所有键值对>>>fav_numbers={'eric':17,'ever':4}>>>forname,numberinfav_numbers.items():...print(name+'loves'+str(number))循环变量所有键>>>av_numbers={'eric':17,'ever':4}>>>fornameinfav_numbers.keys():...print(name+'lovesanumber')循环变量所有值>>>av_numbers={'eric':17,'ever':4}>>>fornumberinfav_numbers.values():...print(str(number)+'isfavorite')按顺序遍历所有键>>>av_numbers={'eric':17,'ever':4}>>>fornameinsorted(fav_languages.keys()):...print(name+":"+language)列表中的嵌套字典使用append()将字典嵌入到thelist#CreateaEmptylist>>>users=[]#Createadictionaryandembeditinthelist>>>new_user={...'last':'fermi',...'first':'enrico}',...'username':'efermi',...}>>>users.append(new_user)#创建另一个字典并将其嵌入到列表中>>>new_user={...'last':'curie',...'first':'marie',...'username':'mcurie',...}>>>users.append(new_user)#打印出列表中的所有信息>>>foruser_dictinusers:...fork,vinuser_dict.items():...print(k+":"+v)...print("\n")直接定义字典列表>>>users=[...{...'last':'fermi',...'first':'enrico',...'username':'efermi',...},...{...'last':'curie',...'first':'marie',...'username':'mcurie',...},...]#打印所有用户的信息>>>foruser_dictinusers:...fork,vinuser_dict.items():...print(k+":"+v)...print("\n")Nestedlistswithindictionaries在字典中存储列表,允许多个值与同一个键相关联#为每个存储多种语言。>>>fav_languages={...'jen':['python','ruby'],...'sarah':['c'],...'edward':['ruby','go'],...'phil':['python','haskell'],...}#显示每个人的所有答案>>>forname,langsinfav_languages.items():...print(name+":")>>>forlanginlangs:...print("-"+lang)在字典中嵌套字典允许一个字典存储在另一个字典中。在这种情况下,与键关联的每个值本身就是一个字典。>>>users={...'aeinstein':{...'first':'albert',...'last':'einstein',...'location':'普林斯顿',...},...'mcurie':{...'first':'marie',...'last':'curie',...'location':'paris',...},...}>>>forusername,user_dictinusers.items():...print("\nUsername:"+username)...full_name=user_dict['first']+""...full_name+=user_dict['last']...location=user_dict['location']...print("\tFullname:"+full_name.title())...print("\tLocation:"+location.title())Username:aeinsteinFullname:AlbertEinsteinLocation:PrincetonUsername:mcurieFullname:MarieCurieLocation:ParisOrderedDict标准Python词典不跟踪键和值的添加顺序,它们只保留每个键与其值之间的关联。使用OrderedDict维护键和值的添加顺序。>>>fromcollectionsimportOrderedDict#存储每个人的语言。#跟踪谁先响应。>>>fav_languages=OrderedDict()>>>fav_languages['jen']=['python','ruby']>>>fav_languages['sarah']=['c']>>>fav_languages['edward']=['ruby','go']>>>fav_languages['phil']=['python','haskell']#installspecifickeywordsfordefaults>>>forname,langsinfav_languages.items():>>>print(name+":")>>>forlanginlang:>>>print("-"+lang)jen:-python-ruby??sarah:-cedward:-ruby??-gophil:-python-haskell