Python学习笔记 基础语法

来源:互联网 发布:top gear 知乎 编辑:程序博客网 时间:2024/06/04 20:02

基本数据类型

空类型

None类型表示空对象,在Python中提供类似null的语义。当一个函数没有返回值的时候,就会返回None。另外,None对象还可以作为参数的值,表示该参数没有值。

# 空类型none = Noneprint('空类型:', type(none))print('空类型的值:', none)print('----------------------------')

数字类型

Python中的数字类型分为4种:整数、浮点数、布尔量和复数。

整数类型

Python中的整数类型和其他语言中的略有不同,Python2中分为普通整数和长整数,到了Python3,不再区分这两种整数了,只有一种int类型,必要的时候可以扩展到任意位。

对于整数字面值,可以使用0b、0o、0x前缀表示二进制数、八进制数或十六进制数。没有任何前缀的是十进制数。另外,还可以使用bin、oct和hex内置函数将十进制数转换为对应的数制表达形式。

# 可以为任意大的整数binary = 0b1111octal = 0o12hexa = 0xffbiginteger = 1for x in range(1, 101):    biginteger *= xprint('整数类型:', type(biginteger))print('二进制数:', binary, ',转换成二进制:', bin(binary))print('八进制数:', octal, ',转换成八进制:', oct(octal))print('十六进制数:', hexa, ',转换成十六进制:', hex(hexa))print('任意大的整数:', biginteger)print('----------------------------')

浮点数类型

Python中只有一种浮点数,就是64位的双精度浮点数,遵从IEEE 754标准。浮点数类型大致相当于C语言中的double类型。

# 浮点数# 浮点数floatnumber = 1.0for x in range(1, 101):    floatnumber += 1 / xprint('浮点数类型:', type(floatnumber))print('浮点数:', floatnumber)print('----------------------------')

布尔类型

Python中的布尔类型和其他语言的差不多,只能取真或假两个值。

# 布尔值booltrue = Trueboolfalse = Falseprint('布尔值类型:', type(boolfalse))print('布尔值:', booltrue, boolfalse)print('----------------------------')

复数类型

Python中还内置了复数类型,内部有一对浮点数,分别表示实部和虚部。

# 复数complex1 = 1 + 2jcomplex2 = 2 + 3jprint('复数类型:', type(complex1))print('复数:', complex1 + complex2)print('复数{0}的实部:{1},虚部是:{2}'.format(complex1, complex1.real, complex1.imag))print('{0}的共轭复数是:{1}'.format(complex1, complex1.conjugate()))print('----------------------------')

序列类型

序列类型共有的操作

所有的序列都支持利用s[i]方式通过索引查询对应的元素。还可以使用切片操作获取一个切片。切片操作允许返回一个较小的序列,用:来分隔切片的上下范围。当其中一个范围没有指定的时候,会默认扩展到序列的端点。当所给的范围超出序列的原有范围时,不会发生错误,而是会包括那一方向的所有元素。

>>> t=(1,2,4,5,6)>>>> t[3]5>>> t(1, 2, 4, 5, 6)>>> t[3]5>>> t[:3](1, 2, 4)>>> t[3:](5, 6)>>> t[-1]6>>> t[-3:-1](4, 5)>>>

当序列是可变序列的时候,还可以对索引引用的值或切片进行赋值和删除操作。

字符串

Python只支持字符串类型,不支持单个字符,单个字符会被看做是长度为1的字符串。Python2中有两种类型的字符串:ascii类型的和Unicode类型的。而在Python3中将这两种字符串统一合并成了一种Unicode字符串。

字符串既可以使用单引号来包括,也可以使用双引号来包括。连续的三个单引号或双引号可以包括跨行字符串。如果在一个字符串前面添加字母r则表示这是一个原始字符串,其中的任何转义字符例如\n都不会被转义,而是以原样输出。字符串是一个不可变对象,一旦创建就不能在对其修改,要做修改都会创建一个新的字符串对象。字符串含有大量方法支持各种操作。

# 字符串stringwithsinglequotes = '12345'stringwithdoublequotes = "12345"multilineString = '''这是第一行这是第二行'''rawString = r"其中的换行会原样输出\n"string = "1234" + "456"print('字符串类型:', type(stringwithdoublequotes))print('字符串:\n', stringwithsinglequotes)print(stringwithdoublequotes)print(multilineString)print(rawString)print('----------------------------')

列表

列表用来表示一组可以随时增加、删除、修改的对象。由于Python是动态语言,因此列表可以容纳任意类型的对象。列表含有大量的方法用来操作所容纳的对象。

创建一个空列表使用[]即可,要创建一个含有数据的列表,只要把数据放在[]中,以,隔开即可。可以使用内置函数list将一个对象或者序列转变成列表,如果参数已经是一个列表,那么则会创建这个列表的一个引用。列表有各种方法可以操作它所包含的数据。

# 列表list1 = [1, 2, 4, 5, 6]print('列表类型:', type(list1))print('初始列表:', list1)list1.append(7)print('增加了一个元素:', list1)list1.insert(2, 3)print('插入了一个元素:', list1)print('前五个元素:', list1[:5])print('后五个元素:', list1[-5:])list1 = []print('空列表:', list1)print('----------------------------')

元组

元组表示一个不可变的列表,常用来传递多个参数。元组是不可变的,一旦创建就不能修改像列表一样修改其中的元素。但是如果元素是一个可变的对象,则可以修改该元素内部的状态,但是元素本身不能被修改。

创建一个元组,使用小括号将要保存的对象括起来即可,使用,分隔。元组创建好了之后,可以再将其中的值重新赋给不同的对象。需要注意的是,空元组使用一对空的小括号创建;而只有一个元素的元组则需要在小括号之中添加一个逗号。

# 元组a = 10b = 6tuple1 = (a // b, a % b)print('元组类型:', type(tuple1))print('元组的元素是:', tuple1)left, remain = tuple1tuple1 = ()print('空元组:', tuple1)tuple1 = (1,)print('只有一个元素的元组:', tuple1)print('----------------------------')

集合类型

集合表示一组没有重复的对象。如果向集合中添加多个重复的元素,多余的就会被忽略。Python中有两个集合,一个是set,另一个是frozenset,它们之间的区别是:frozenset是一个不可变的集合,一旦创建好之后就无法改变其中的值。

创建集合需要使用set或者frozenset函数,向其中传递要创建的值序列。set创建好之后可以使用add方法向其中添加元素。而frozenset则不行。集合支持求交集、并集、差集等的方法。

# 集合set1 = set()print('集合类型:', type(set1))print('空集合:', set1)set1.add('1')set1.add('2')set1.add('3')print('集合1的值:', set1)set2 = frozenset('65043983')print('集合2的值:', set2)print('交集:', set1 & set2)print('并集:', set1 | set2)print('差集:', set1 - set2)print('对称差集:', set1 ^ set2)print('----------------------------')

字典

Python内置了一个字典对象dict,提供键值存储,其中键必须是一个不可变对象且键不能重复。

创建一个空字典使用{},或者使用:分隔的键值对来填充字典。要访问字典中的元素,需要使用dictionary[index]来由键查询值。还可以使用键 in 字典的方式来查询在字典中是否存在指定的键。字典还有其他大量的方法对键值对进行操作。

# 字典dictionany = {}print('字典类型:', type(dictionany))print('空字典:', dictionany)dictionany = {4: 3, 6: 7}print('初始化一个字典:', dictionany)dictionany[1] = 1dictionany[2] = 3print('字典的内容:', dictionany)del dictionany[6]print('删除了一对元素的字典:', dictionany)print('{0}在不在字典中:'.format(6), 6 in dictionany)print('遍历字典:')for key in dictionany.keys():    print('dictionary[{0}]={1}'.format(key, dictionany[key]), end=';')print()print('----------------------------')

运算符

数字运算

Python中的运算符和其他语言的没有太大差别,同样遵从运算符优先级。注意**表示乘方运算。/默认是浮点数除法,//才是整除。

# 数字运算integer1 = 100integer2 = 33float1 = 4.5print('加减乘:({0}+1-3)*{1}={2}'.format(float1, integer1, (float1 + 1 - 3) * integer1))print('浮点数除法:{0}/{1}={2}'.format(integer1, integer2, integer1 / integer2))print('整数除法:{0}//{1}={2}'.format(integer1, integer2, integer1 // integer2))print('乘方运算:{0}**{1}={2}'.format(2, 7, 2 ** 7))print('----------------------------')
0 0
原创粉丝点击