Python基本数据类型

1、print函数

在python3中print需要加括号,并且默认输出一行,如果不需要自动换行,需要指定结尾符end=' '。以下会在一行内输出“Hello World”

print("Hello",end=' ')
print("World")
#输出:Hello World

python没有强制语句终止符,不需要在一行代码后加分号。当多条语句位于同一行时可以用分号分隔

也可以用逗号在一个print括号内连接多个输出内容。即

print("Hello","World")        #输出:HelloWorld

利用print进行格式化输出

print("%c" % "A")
print("%c" % 65)            #通过Ascii码输出字符A
print("%0o"%10)             #以八进制显示10,输出:12
print("%0x"%10)             #以十六进制显示10,输出:a
print("%#x"%10)             #以十六进制格式化显示10,输出:0xa
#以小数输出,包括小数点一共五位,小数点后保留两位,默认右对齐,如果不够通过左边空格补齐
print("%5.2f"%3.1415)       #输出:_3.14     
print("%-5.2f"%3.1415)      #左对齐,输出:3.14_
print("%e"%314159265.7)     #以科学计数法显示,输出:3.141593e+08
print("%g"%314159265.7)     #自动选择采用合适的方法显示,当数字较大时采用科学计数法

通过占位符与字典进行填充输出:

print("%s's weight is %.2f kg"%("Xiaoming",55))        #注意变量顺序
#输出:Xiaoming's weight is 55.00 kg
print("%(name)s's weight is %(weight).2f kg"%{"weight":55,"name":"Xiaoming"})
#通过字典键值对填充进行输出

2、变量

python中的变量都在内存中创建,在使用前需通过‘=’进行赋值,python是动态语言,在定义时不需要指定变量类型,为了区别可以在命名时手动表示数据类型。

python中的标识符可由字母、数字、下划线组成,可以用中文字符定义变量,但不能用数字开头。python对于字母大小写敏感

int_a=5
float_b=5.6
字符串="Hello"
print(int_a,float_b,字符串)
#输出:5 5.6 Hello

python保留字如下,均为小写,注意命名时不要冲突

python中的变量分为可变对象(列表,集合,字典)和不可变对象(数字,元组,字符串),当可变对象作为参数传入函数时,在函数内的修改会影响到源对象,而不可变对象则不会受到影响。

如下所示,change_num()对num进行修改后,在函数内部发生了变化,但是原来的num并没有改变。而change_list()对list进行修改后,原来的list也发生了变化。

def change_num(num):
    num += 1
    print('函数内num:', num)

num = 0
change_num(num)
print('函数调用后num:', num)
'''
函数内num: 1
函数调用后num: 0
'''

def change_list(list):
    list.append(6)
    print('函数内list:', list)

list = [1, 2, 3]
change_list(list)
print('函数调用后list:', list)
'''
函数内list: [1, 2, 3, 6]
函数调用后list: [1, 2, 3, 6]
'''

3、数字

python的int默认为十进制,且在python3不再有long int型的定义,但是它支持长整数的表示,其定义二、八、十六进制的方法如下:

bi_int=0b10; oct_int=0o70; hex_int=0xf0;
print(bi_int,oct_int,hex_int)
#输出:2 56 240

也支持浮点数的表示,而且可以用科学计数法来赋值

f1=3.1;f2=3.1e-6;f3=3.1e6
print(f1,f2,f3)
#输出:3.1 3.1e-06 3100000.0

还支持复数的定义,可以直接通过a+bj的形式,也可以通过函数complex来定义函数:

c1=1+2j;c2=complex(4,5)
print(c1,type(c1),c2,type(c2))
#输出:(1+2j) <class 'complex'> (4+5j) <class 'complex'>

4、布尔类型

python也支持布尔类型的定义,通过关键字True或者False赋值,注意0==False,非零值视为True

python的逻辑运算与、或、非是通过关键字and、or、not来实现的

True and not False
#输出:True

x and y,若x为False则返回x,否则返回y的计算值;x or y,如果x为true则返回x,否则计算y

print(10 and 1+2)
#输出:3
print(0 or 1+3)
#输出:4

5、注释

单行注释:通过使用‘#’可以注释掉一行中#后面的内容

多行注释:成对使用"""或者'''可以注释掉它们之间的内容,例如下面的注释测试2,3不会显示

print("注释测试1")
'''
print("注释测试2")
print("注释测试3")
'''
print("注释测试4")

6、算术运算符

除了+、-、*、/外还有向下取整//、取余数%、幂运算**

print(10//3 ) #输出:3
print(10%3)   #输出:1
print(10**3)  #输出1000

相应地也可以组合成赋值运算://=、%=、**=

python运算会自动向上类型转换,例如

res=3+2.0
print(res,type(res))
#输出:5.0 <class 'float'>

7、字符串

输出字符串可以用单引号或双引号引起

也可以使用转义符\输出一些字符,如果不希望\转义,可以在字符串最前面+r

print(r"第一行\n第二行")
#输出:第一行\n第二行

可以使用三个单引号引起需要原格式输出的内容,例如输出三行内容:

print('''第一行
第二行
第三行''')

字符串可以通过加号进行连接,也可以通过*进行复现

print("hello"+" world")   #输出:hello world
print("Bye"*2)            #输出:ByeBye

8、List列表

与传统数据类型数组不同,List中元素的类型可以不相同,其元素可以是数字、字符串或者是嵌套的列表

访问单个list元素可以通过下标的方式,下标从0开始,-1表示倒数第一个

可以通过append()、insert()函数实现在末尾或指定位置插入单个元素

通过 + 可以将两个列表合并

remove()删除指定内容的元素

pop()不加参数默认删除最后一个元素,也可以在括号内指定位置元素

列表截取,返回从头下标到尾下标的子列表。还可以规定每个几个截取一个子元素

嵌套列表的访问类似于多维数组,通过多个中括号来实现

字符串被当作特殊的列表,可以通过下标访问具体某个字符

通过copy()方法可以新建一个数组的副本,直接通过“=”只是创建原数组的引用

list=[1,2,3,7,"str"]
list.append([4,5,'a'])         #在列表尾加入
list.insert(3,"in")            #在指定位置插入
list += [4, 5, 6]              # =>[1, 2, 3, 7, 'str', 4, 5, 6]
list.pop(-3)                   #删除倒数第三个元素
print(list)                    #输出:[1, 2, 3, 'in', 'str', [4, 5, 'a']]
print(list[-3])                #输出:in
print(list[1:3])               #输出:[2, 3]
print(list[0:3:2])             #下标从0到3,每两个截取一个,输出:[1, 3]
print(list[-1][1:])            #访问倒数第一个子列表,并截取其下标从1至最后的元素,输出:[5, 'a']
print(list[-2][1])             #访问字符串str下标为1的字符,输出:t

创建一个二维数组,一共三行,每行元素个数不确定:

lists = [[] for i in range(3)]
lists[0].append(3)
lists[1].append(5)
lists[2].append(7)
print(lists)
# 输出结果为:[[3], [5], [7]]

遍历list列表有如下两种方式,可以直接通过索引,也可以利用enumerate(list)进行遍历,还可以指定起始遍历的位置enumerate(list,start)

# 通过索引进行遍历
for i in range(len(list)):
    print ("序号:%s   值:%s" % (i + 1, list[i]))

# 通过enumerate遍历
for i, val in enumerate(list):
    print ("序号:%s   值:%s" % (i + 1, val))

9、Tuple元组

tuple与List类似,支持多种类型与嵌套,其操作方式也与List相同,不同的是其元素一旦定义就不支持修改,其定义使用圆括号。

tuple=(1,2,"str",(4,5,6))
print(tuple[-1][-1])
#输出:6

10、Set集合

set是一个无序且不含重复元素的序列,主要用于成员关系测试或者删除重复元素

set通过add()、remove()函数添加或删除元素

集合还可以进行交、并、差、补运算

set1={1,2,2,3,4}
set1.add(5)         #加入元素
set1.remove(3)      #删除元素
print(set1)         #自动去除重复元素,输出:{1, 2, 4, 5}
print(5 in set1)    #判断5是否在集合中,输出:False
set2={3,4,5}
print(set1|set2)    #求并集,输出:{1, 2, 3, 4, 5}
print(set1&set2)    #求交集,输出:{4, 5}
print(set1-set2)    #求差集:输出:{1, 2}
print(set1^set2)    #求补集,输出:{1, 2, 3}

11、Dictionary字典

通过键值对来储存数据,在一个字典中,键(Key)是唯一的,用引号引起,通过它映射到对应的值(Value)

字典还有一些自带函数用于查看其中信息

dict的特点是查找速度快,无论dict有10个元素还是10万个元素,查找速度都一样。而list的查找速度随着元素增加而逐渐下降。相应地其缺点是占用内存较大。

dic={"name":"小明","age":15,"height":170}
dic["age"]+=1            #修改键值对
dic["weight"]=50         #新增键值对
print(dic)               #输出:{'name': '小明', 'age': 16, 'height': 170, 'weight': 50}
dic2=dict(name='xiaoming',age=15)    #利用dict函数定义字典
print(dic.keys())                    #显示字典中的所有键名
print(dic.values())                  #显示字典中的所有值
dic.clear()                          #清空字典
if "age" in dic:                     # 判断对应的主键是否存在
    print("存在")
for key,value in dic.items():        # 遍历字典键值对
       print(key+':'+value)

12、类型转换

通过类型函数可以实现不同类型之间的转换

a='6';
print(a,type(a))        #输出:6 <class 'str'>
b=int(a)
print(b,type(b))        #输出:6 <class 'int'>

Ascii码值

ord('A')      #转换对应的码值,输出:65
chr(65)       #将码值转换为字符,输出:A

元组转化为列表,再转化为集合

tuple1=(1,2,2,3,4)
list1=list(tuple1)
print(list1)            #输出:[1, 2, 2, 3, 4]
print(set(list1))       #输出:{1, 2, 3, 4}

eval()函数计算字符串表达式

x=8
str="5*x+6"
eval(str)        #输出:46

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值