Python语法基础,数据类型

目录

2.1 Python数据类型

2.1.1 数值类型

2.1.2 字符串

1.创建和访问字符串

2.Python转义字符 需要在字符中使用特殊字符时,Python用反斜杠(\)转义字符

​2.1.2  字符串 

1.Python字符串运算符

2.字符串格式化

2.1.2  字符串

1.字符串格式化

 2.1  Python数据类型

     2.1.4  空值

2.2  常量和变量

 2.2.1  变量      

 2.2.2  常量

2.3  运算符与表达式

 1.算术运算符  

 3.逻辑运算符

​ 4.赋值运算符

 5.位运算符

 6.Python成员运算

 7.  Python标识运算符

2.3.2 表达式

2.4  序列数据结构

2.4.1  列表

2.更新列表

3.删除列表元素

 2.4.1  列表

 2.4.2  元组

2.4.3  字典

1.创建字典

 2.访问字典里的值            

3.修改字典

2.4.4  集合

集合基本功能是进行成员关系测试和删除重复元素。 1.创建集合

集合运算


2.1 Python数据类型

2.1.1 数值类型

Python 数值类型用于存储数值。

整型(int) :通常被称为整型或整数,是正或负整数,不带小数点。

长整型(long) :无限大小的整数,整数最后是一个大写或小写的L。在Python3里,只有一种整数类型 int,没有Python2 中的 Long。

浮点型(float):浮点型由整数部分与小数部分组成,浮点型可使用科学计数法表示(2.78e2就是2.78 x 102 = 278)

复数(complex):复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的虚部以字母j或J结尾。如:2+3j。

2.1.2 字符串

Python使用单引号双引号来表示字符串是一样的。

1.创建和访问字符串

创建字符串很简单,只要为变量分配一个值即可。例如:

var1 = 'Hello World!'

var2 = "Python Programming "

2.Python转义字符 需要在字符中使用特殊字符时,Python用反斜杠(\)转义字符

2.1.2  字符串

3.Python字符串运算符 Python字符串运算符如表2-2所示。 a = 'Hello'            b = 'Python'

 

 

 2.1.2  字符串

4.字符串格式化

Python 支持格式化字符串的输出。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到有字符串格式符的模板中。

在 Python 中,字符串格式化使用与 C语言中printf函数一样的语法。

print ("我的名字是 %s 年龄是 %d " % ('xmj', 41))

Python用一个元组将多个值传递给模板,每个值对应一个字符串格式符。上例将'xmj'插入到%s处,41插入到%d处。所以输出结果: 我的名字是 xmj 年龄是 41  

2.1.2  字符串

4.字符串格式化

 格式化举例:

 在Python中,逻辑值True和False作为数值,则分别是整型值1和0参与运算。

例如:

>>> x=False

>>>a=x+(5>4)    #结果a是1

>>> b=x+5   #结果b是5

 2.1  Python数据类型

     2.1.4  空值

 空值是Python里一个特殊的值,用None表示。它不支持任何运算也没有任何内置函数方法。None和任何其他的数据类型比较永远返回False在Python 中未指定返回值的函数会自动返回None。 2.1.5  Python数字类型转换

x=20		#八进制为24
y=345.6
print(oct(x)) 	#打印结果是0o24
print(int(y)) 		#打印结果是345
print(float(x)) 	#打印结果是20.0
print(chr(65)) 	# A的ASCII为65,打印结果是A
print(ord('a')) 	# B的ASCII为97,打印结果是97

2.2  常量和变量

 2.2.1  变量      

变量在程序中就是用一个变量名表示,变量名必须是大小写英文、数字和下划线_的组合,且不能用数字开头,比如:       在Python中,等号=是赋值语句,可以把任意数据类型赋值给变量,同一个变量可以反复赋值,而且可以是不同类型的变量,例如: 

  a = 123             # a是整数
  a = 'ABC'           # a变为字符串
  a=True              # a变为一个布尔值True

       这种变量本身类型不固定的语言称之为动态语言,与之对应的是静态语言(例如C语言)

变量类型运行示例:

 

 2.2.2  常量

所谓常量,就是不能变的变量。  

比如常用的数学常数π就是一个常量。在Python中,通常用全部大写的变量名表示常量:                          PI = 3.14159265359    

但事实上PI仍然是一个变量,Python根本没有任何机制保证PI不会被改变,所以,用全部大写的变量名表示常量只是一个习惯上的用法,实际上是可以改变变量PI的值。      

(Python中的常量与许多其他程序设计语言的中常量有差别)

2.3  运算符与表达式

 Python语言支持的运算符有以下几种类型:

  1. 算术运算符 
  2. 比较(即关系)运算符
  3. 赋值运算符
  4.  逻辑运算符
  5. 位运算符
  6. 成员操作符
  7. 标识操作符

 1.算术运算符  

算术运算符实现数学运算,Python语言算术运算符如表2-5所示。  

 假设其中变量a=10和变量b=20。 

 

 关系运算符用于两个值进行比较,运算结果为True(真)或False(假)。Python中的关系运算符如表2-6所示。假设其中变量a=10和变量b=20。

 

 3.逻辑运算符

Python中提供了三种逻辑运算符:        

and(逻辑与,二元运算符)        

or  (逻辑或,二元运算符)        

not (逻辑非,一元运算符)

 4.赋值运算符

赋值运算符“=”的一般格式为:                            

变量=表达式       它表示将其右侧的表达式求出结果,赋给其左侧的变量。例如:

>>>i=3*(4+5)	# i的值变为27
>>> i=True+5    # i的值变为6

 5.位运算符

位(bit)是计算机中表示信息的最小单位。            

位运算符作用于位和位操作。

Python中位运算符如下:

按位与(&)、按位或(|)、按位异或(^)、按位求反(~)、左移(<<)、右移(>>)。

位运算符是对其操作数按其二进制形式逐位进行运算。
 

a =      0011 1100

b =      0000 1101

a&b =    0000 1100

a|b =    0011 1101

a^b =    0011 0001  

~a =     1100 0011

 6.Python成员运算

Python成员运算符判断序列中是否有某个成员。 成员运算符如表2-9所示。

 

 7.  Python标识运算符

标识符比较两个对象的内存位置。

 

例1:
a=20
b=20
if(a is b):
     print(“a和b相等”)
Else:
     print(“a和b不等”)
例2:
a=20
b=20
if(id(a) is not id(b)):
     print(“a和b不等”)
Else:
     print(“a和b相等”)

2.3.2 表达式

表达式是一个或多个运算的组合。Python语言的表达式与其他语言的表达式没有显著的区别。每个符合Python语言规则的表达式的计算都是一个确定的值。对于常量、变量的运算和对于函数的调用都可以构成表达式。 在后续章节中介绍的序列、函数、对象都可以成为表达式一部分

2.4  序列数据结构

        数据结构是计算机存储、组织数据的方式。序列是Python中最基本的数据结构。    

        序列中的每个元素都分配一个数字即它的位置或索引,第一个索引是0,第二个索引是1,依此类推。序列都可以进行的操作包括索引、截取(切片)、加、乘、成员检查。此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法。      

Python内置序列类型最常见的是列表、元组、字符串     另外,Python提供了字典和集合这样的数据结构,它们属于无顺序的数据集合体,不能通过位置索引号来访问数据元素。

2.4.1  列表

列表(list)是最常用的Python数据类型,列表的数据项不需要具有相同的类型。列表类似其他语言的数组,但功能比数组强大的多。 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。实例如下:

list1 = ['中国', '美国', 1997, 2000];
list2 = [1, 2, 3, 4, 5 ];
列表索引从0开始。
列表可以进行截取(切片)、组合等。
1.访问列表中的值
list1 = ['中国', '美国', 1997, 2000];
list2 = [1, 2, 3, 4, 5, 6, 7 ]
print ("list1[0]: ", list1[0] )
print ("list2[1:5]: ", list2[1:5] )

2.更新列表

可以对列表的数据项进行修改或更新,实例如下:

list = ['中国', 'chemistry', 1997, 2000];
print ( "Value available at index 2 : ")
print (list[2] )
list[2] = 2001
print ( "New value available at index 2 : ")
print (list[2] )

3.删除列表元素

方法一:      使用 del 语句来删除列表的的元素。

方法二:      使用 remove()方法来删除列表的元素。

方法三:     使用pop()方法方法来删除列表的指定位置的元素,无参数时删除最后一个元素。 

 

 注意:如利用remove 删除,列表中有几个相同值的元素,则删除第一个与remove的值相等的列表元素,后面的值不受影响。

 2.4.1  列表

4.添加列表元素 可以使用 append()方法在列表末尾添加元素,如下实例:

list1 = ['中国', '美国', 1997, 2000]
list1.append(2003)
print (list1)
以上实例输出结果:
['中国', '美国', 1997, 2000, 2003]

添加列表元素示例: 可使用append()方法在列表末尾添加元素。 或使用insert(index,obj)的方法在列表中任意索引位置插入数据。

 

5.定义多维列表

可将多维列表视为列表的嵌套,即多维列表的元素值也是一个列表,只是维度比父列表小一。

 例如:定义1个二维列表。
 list2 = [["CPU", "内存"], ["硬盘","声卡"]]

二维列表比一维列表多一个索引,可如下获取元素:                        

列表名[索引1][索引2]

例:定义3行6列的二维列表,打印出元素值。

rows=3
cols=6
matrix = [[0 for col in range(cols)] for row in range(rows)]   
                                                                  #列表生成式
for i in range(rows):  
    for j in range(cols):
        matrix[i][j]=i*3+j
        print (matrix[i][j],end=",")  
    print ('\n') 

Python列表的操作符

len([1,2,3])               #长度          	   3

[1,2,3]+[4,5,6]            #组合               [1,2,3,4,5,6] 

[3]*4                      #重复         	   [3, 3, 3, 3]

‘a’in [‘a’,1,2]            #元素是否在列表中    True

for x in [‘a’,‘中国’,1]:print(x,end=‘,’)   #迭代a,中国,1,

Python列表内置函数和方法 

 2.4.2  元组

 Python的元组(tuple)与列表类似,不同之处在于元组的元素不能修改元组使用小括号(),列表使用方括号[]。元组中的元素类型也可以不相同。

1.创建元组
tup1 = ('中国', '美国', 1997, 2000)
tup2 = (1, 2, 3, 4, 5 )
tup3 = "a", "b", "c", "d"
2.访问元组
tup1 = ('中国', '美国', 1997, 2000)
tup2 = (1, 2, 3, 4, 5, 6, 7 )
print ("tup1[0]: ", tup1[0])          # 输出元组的第一个元素
print ("tup2[1:5]: ", tup2[1:5])   # 切片,输出从第二个元素开始到第五个元素
print (tup2[2:]) 

 3.元组连接        

元组中的元素值是不允许修改的,但可以对元组进行连接组合,实例如下:

tup1 = (12, 34,56)
tup2 = (78, 90)
#tup1[0] = 100          #修改元组元素操作是非法的
tup3 = tup1 + tup2	#连接元组,创建一个新的元组
print (tup3)
以上实例输出结果:(12, 34,56, 78, 90)

 4.删除元组        

元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组。

元组与列表转换

可以使用下面方法将元组转换为列表:
    列表对象=list(元组对象)
tup=(1, 2, 3, 4, 5) 
list1= list(tup) 			    #元组转为列表
print (list1) 					#返回[1, 2, 3, 4, 5]
可以使用下面方法将列表转换为元组:
    元组对象= tuple (列表对象)
nums=[1, 3, 5, 7, 8, 13, 20]
print (tuple(nums))             #列表转为元组,返回(1, 3, 5, 7, 8, 13, 20)

2.4.3  字典

Python字典(dict)是一种可变容器模型,且可存储任意类型对象,如字符串、数字、元组等。字典也被称作关联数组或哈希表。

1.创建字典


键值对key-value
一个简单的字典实例:
dict = {'zhangsan' : 91 , 'wangwu' : 80}
也可如此创建字典:
dict1 = { 'abc': 456 };
dict2 = { 'abc': 123, 98.6: 37 };

 2.访问字典里的值            

访问字典里的值时把相应的键放入方括号里,如下实例:

dict = {'Name': '王海', 'Age': 17, 'Class': '计算机一班'}
print ("dict['Name']: ", dict['Name'])
print ("dict['Age']: ", dict['Age'])

3.修改字典

dict = {'Name': '王海', 'Age': 17, 'Class': '计算机一班'}
dict['Age'] = 18                 # 更新键/值对(update existing entry)
dict['School'] = "学院"  # 增加新的键/值对(add new entry)
print ("dict['Age']: ", dict['Age'] )
print ( "dict['School']: ", dict['School']

 字典与列表的比较:

列表保持元素的相对关系,即序列关系;但字典是完全无序的,也称为非序列

如果向保持一个集合中元素的顺序,需要使用列表,而不是字典。 字典从Python3.6版优化后,字典的输出顺序与创建之初的输出顺序相同,但仍然不能使用位置下标索引访问字典;而列表要用索引访问。

2.4.4  集合

集合(set)是一个无序不重复元素的序列

集合基本功能是进行成员关系测试和删除重复元素。
1.创建集合

# set可以进行集合运算
a = set('abcd')        #a= {'a', 'b', 'c', 'd' }
b = set('cdef')
print(a)
print("a和b的差集:", a - b)    # a和b的差集{'a', 'b' }
print("a和b的并集:", a | b)    # a和b的并集 {'a', 'b', 'c', 'd' , 'e' }
print("a和b的交集:", a & b)    # a和b的交集{'c', 'd' }
print("a和b中不同时存在的元素:", a ^ b)    
                               # a和b中不同时存在的元素{'e', 'a', 'b', 'f'}

可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set() 而不是 { },因为 { } 是用来创建一个空字典。

student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)   # 输出集合,重复的元素被自动去掉

集合运算

可以使用“-”、“|”、“&”“^”运算符进行集合的差集、并集、交集、元素不同时存在等相关运算。

 

# set可以进行集合运算
a = set('abcd')        #a= {'a', 'b', 'c', 'd' }
b = set('cdef')
print(a)
print("a和b的差集:", a - b)     # a和b的差集{'a', 'b' }
print("a和b的并集:", a | b)     # a和b的并集 {'a', 'b', 'c', 'd' , 'e' }
print("a和b的交集:", a & b)    # a和b的交集{'c', 'd' }
print("a和b中不同时存在的元素:", a ^ b)    
                                     # a和b中不同时存在的元素{'e', 'a', 'b', 'f'}

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云计算架构师0001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值