2.Python基础:数据类型介绍

世界上大概有3000多种语言,其中汉语是使用人数最多的语言,英语是使用最广泛的语言,国际交流,一般都会说英语。计算机也一样,他也有自己的语言,一方面说计算机非常强大,能处理各种复杂的程序,另一方面他却远远比不上人类,那就是语言的辨识度。

2.1 数据类型介绍

int(整型)

在32位机器。整数位数为32位,取值范围-2—31~2—31-1 即-2147483648 - 2147483647

在64位系统,整数位为64位,取值范围为-2—63~2-63-1,即-92232272036854775808~9223372036854775807

long(长整型)

跟C语言不同,Python的长整型没有指定位宽,即:Python没有限制长整型熟知的大小,但实际上由于机器内存有限,我们使用的长整型数值不可能无限大。

注意,自从Python2.2起,如果整数发生溢出,Python将自动将整数数据转换长长整数,所以如今在长整数据后面不加字母L也不会导致严重后果。

注意:在Python3里不再有long,全都是int

>>> a = 2**64

type(a) #type()是查看数据类型的方法

<type ‘long‘>

>>> type(b)

<type ‘int‘>

i = 3

i = 6

print(i.bit_length())

转换 :

int ---> str:int(int) str全由数字组成

str---> bool 0 False 非零 True

print(int(True))

print(int(True)

2.2 字符串类型(str)。

在Python中,加了引号的字符都被认为是字符串!

>>>name = "zhao" #双引号

>>>age = "22"       #只要加引号就是字符串

>>> age2 = 22      #int

>>>msg = ‘‘‘My name is Alex, I am 22 years old!‘‘‘  #三引号

>>>

>>>hometown = ‘shangDong‘   #单引号也可以

注:单双引号没有区别,但是下边这种情况 需要考虑单双的配合。

msg = ‘‘‘

今天天气好,

想出去旅游。

,,,

print(msg)

字符串拼接

数字可以进行加减乘除等运算,祖父穿也可以进行相加,相乘的运算。

>>>name

‘ALex Li‘

>>>age

‘22‘

>>>

>>>name + age #相加其实就是简单拼接

>>>name*  10    #相乘其实就是复制多少次,在拼接到一起

ALex Li ALex Li ALex Li ALex Li ALex Li ALex Li ALex Li ALex Li ALex Li ALex Li ‘

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其他类型拼接

Str切片

# s = ‘Python自动化运维21期‘# s1 = s[0]# print(s1)# s2 = s[2]# print(s2)# s3 = s[-1]# print(s3)#切片# s1 = s[0:6]#顾头不顾尾# print (s1)补偿切片:
# s3 = s[:5:2]# print (s3)# s4 =s[:]# print (s4)# s5 = s[-1:-5:-1]  #:-1 倒着取必须有反向补偿# print (s5)# s6 = s[-2:-5:-1]# print(s6)# s7 = s[:6:2]# print(s7)#s = ‘oldBoy‘# # s1 = s.capitalize() #首字母大写,其他字母小写# # print (s1)

s2 = s.upper()  #所有字母大写print(s2)s3 = s.lower() #所有字母小写

code = ‘QAR‘ == code:     print(‘验证成功‘)

s4 = s.swapcase()#大小写反转print(s4)
# s = ‘alex wusir*oldboy3taibai‘#非字母的元素隔开每个单词首字母大写# s5 = s.title()# print(s5)
#s6 = s.center(30)  #居中 长度自己设定,默认填充物为None# s6 = s.center(30,‘*‘)  #填充*# print(s6)
# s7 = s.startswith(‘ol‘) #查看以什么开头#  endswith #...结尾# print(s7)
# s7 = s.startswith(‘B‘,3,5) #索引都是顾头不顾尾# print(s7)

#strip  去除首位空格,制表符\ t,换行符。# s8 = s.strip()# print(s8)# name = input(‘>>>‘).strip()  写项目一定要加strip# if name == ‘oldboy‘:#     print (‘登陆成功‘)#不仅仅是去除空格等,会去除指定元素后边的直到出现非指定元素# lstrip()  rstrip(0)  只去除左边或者右边的
# #split (str---> list) 由字符串转化为列表# s =‘oldboy,wusir,alex‘# # l = s.split()# # print(l)# l2 = s.split(‘o‘) #三元素割出4个 4 变5# print(l2)

Join 命令(
以某些连接符链接,组成新的字符串(将列表转化成str)
# s =‘oldboy‘# s9 = ‘+‘.join(s)# print(s9)
# s = ‘打铁锤fadasd铁锤妹妹范德萨‘# s10 = s.replace(‘铁锤‘,‘钢蛋‘)# print(s10)
#find index 通过元素找索引  index找不到返回-1 find 找不到报错#s = ‘oldboy‘# ind = s.index(‘d‘)# print(ind)# # ind = s.find(‘o‘)# print(ind)# ind = s.find(‘A‘)# print(ind)# ind = s.find(‘A‘)# print(int)

格式化输出 format()
# res=‘我叫{}今年{}岁,爱好{}.format(‘egon‘,18,‘male‘)‘# print (res)# res=

公用方法: len count
# s = ‘faafafsadasfafaafasf‘# print(len(s))  #查看有多少元素 长度

List列表
# li = [111,‘alex‘,222,‘wusir‘]# # print(li[1])# print(li[:3:2])#l = [‘老男孩‘,‘alex‘,‘wusir‘,‘taibai‘]#增#append  在后面追加一个值# l.append(‘葫芦‘)# print(l)# insert 插入  从索引入手# l.insert(1,‘景女神‘)# print(l)

#迭代添加  extend# l.extend(‘alex‘)# l.extend(‘111‘)# print(l)

#删 pop  根据索引去删 有返回值# l.pop(0)# print(l)

#remove 根据元素去删# l.remove(‘alex‘)# print(l)

#clear  清空内容 不删除列表# l.clear()# print(l)

#del  1)删除内存级别列表# del l# print(l)#2) 按照索引去删# del l[:3]# print(l)#3) 按照元素去删# l = [‘老男孩‘,‘alex‘,‘wusir‘,‘taibai‘]#改#按照索引改# l[2] = ‘武藤兰‘# print(l)#按照切片去改# l[:2] = ‘abc‘  按照最小元素添加

#查# 1> 按照索引查# 2> 按照切片查询# for i in l:#     print(i)

# ll = [1,2,3,1,2,1,1,4]#其他方法# count 计数# print(ll.count(1))#len 测量长度# print(len(ll))#通过元素找索引# print(ll.index(4))

# l2 = [2,6,6,9,3,1,5,]# #sort排序# # l2.sort()# # print(l2) 从小到大## # l2.sort(reverse=True)# # print(l2)   从小到大## #reverse 倒叙# l2.reverse()# print(l2)

#列表的嵌套# ll = [1,2,‘alex‘,‘wusir‘,[‘oldboy‘,‘ritian‘,99]]# print(ll)# ll[2] = ‘ALEX‘# print(ll)# print(ll[2].upper())# ll[2] = ll[2].upper()# print(ll)
Dict 字典
# dict 二分查找:字典的key是唯一的 必须是不可变的数据类型# 不可变的数据类型(可hash): str bool tuple int#    value是任意数据类型。# 可变的数据类型: dict list set# 容器类的数据类型  list tuple dict  set#字典: 存储数据多 ,关系型数据,查询速度快(二分查找)#dic = {‘name‘:‘taibai‘,‘age‘:‘21‘,‘hobby‘:‘gril‘,}#增删改查#增# dic[‘high‘] = 180  有则覆盖(改),无则添加#print(dic)  #3.6版本之前字典无序# dic.setdefault(‘high‘,100) #有则不变 无则添加# print(dic)#删#dic.pop(‘name‘)#print(dic.pop(‘name‘))#返回值 对应的值

#clear删除内容# dic.clear()# print(dic)#删除内存# del# del  dic# print(dic.popitem())  #随即删除,返回值# print(dic)# print(dic.pop(‘name1‘,‘没有此key sb‘))#print(dic)

#改#dic2.update(dic) #将dic的值对应添加到dic2中

#查#print(dic[‘name‘])# print(dic.get(‘name1‘))# print(dic.get(‘name2‘,‘没有此key,sb‘))

#len# print(len(dic))# 测试字典长度

#fromkeys 创建字典 可迭代# dic1 = dic.fromkeys(‘abc‘,‘zhangsan‘)# print(dic1)# dic2 = dic.fromkeys([1,2,3],‘lisi‘)# print(dic2)# dic3 = dict.fromkeys(‘abc‘,[])# print(dic3)# dic3[‘a‘].append(‘老板还‘)# print(dic3)

#dic = {‘name‘: ‘taibai‘, ‘age‘: 21, ‘hobby‘: ‘girl‘, }# dic[‘name‘] = ‘ritian‘# print(dic)# print(dic.pop(‘name‘))# print(dic.pop(‘name1‘,‘meiyousb‘))# dic.clear()# print(dic)# print(dic.popitem())# print(dic)# dic[‘name‘] = ‘laonanhai‘# print(dic)# print(dic.get(‘name‘))# for i in dic.items():#     print(i)# for k,v in dic.items():#     print(k,v)# dic = {#     ‘name_list‘:[‘b哥‘, ‘张帝‘, ‘人帅‘, ‘kitty‘],#     ‘老男孩‘:{#         ‘name‘:‘老男孩‘,#         ‘age‘: 46,#         ‘sex‘: ‘ladyboy‘,#     },# }# dic.setdefault(‘骑兵‘)# print(dic)

元祖
# 只能查 不能增删改# tu = (11,2,True,[2,3,4],‘alex‘)# # for i in tu:# #     print(i)# print(tu[1])# print(tu[:3:2])# # print(tu.index(True))# print(tu.count(2))# print(len(tu))# tu[-2].append(666)# print(tu)

集合:
无序 不重复的数据类型。它里面的元素必须是可哈希的,
但是集合本身是不可哈希的#1:关系测试 交集和并集 子集 差集#2:去重 (列表的去重)# setl1 = {1,‘alex‘,False.(1,2,3)}# ll = [1,1,1,1,2,2,6,5,]# l2 =list(setl1)# print(l2)#增 add 单个增   update 迭代增#删#remove  删除一个元素# set1 = {1,2,3,4,5}# set2 = {4,5,6,7,8}#交集:# print(set1 & set2)# #并集# #print(set1 | set2)# print(set1.union(set2))# 差集# print(set1 - set2)#反交集# print(set1 ^ set2)#子集#print (set1 < set2) (超集)#动集合# s = frozenset(‘barry‘)# print(s,type(s))#数据类型补充#range 可定制的数字列表# for i in range(10):#     print(i)# l1 = [‘alex‘,‘wusir‘,‘taibai‘,‘barry‘,‘老男孩‘]# # del l1 [1::2]# # print(l1)# for i in range(len(l1)-1,-1,-1)#     if i % w == 1:#         del li[i]# #再循环一个列表时,不要进行对列表删除的动作(改变列表个数)#再循环字典时,不要对字典进行删除(不改变字典的大小)# dic = {‘k1‘:‘v1‘,‘k2‘:‘v2‘,‘k3‘:‘v3‘,‘u‘:666}# l1 = []# for i in dic:#     if ‘k‘ in i:#         l1.append[i]# for i in ll:#     del dic[i]# print[dic]#tu 元组里边只有一个元素并且没有逗号隔开,那么他的数据类型#与该元素一致

小数据池 copy  只有int 和 str

id == is# a = ‘alex‘# b = ‘alex‘# print(a == b) #数值# print (a is b)#内存地址# python 中有小数据池的概念# int -5 到 256 的相同的事全都指向一个内存地址 (节省空间)#str: s = ‘a‘*20 以内都是同一个内存地址 超过20就不是#只要字符串含有非字母元素,那就不是一个内存地址

#深浅copy#赋值运算,它们公用一个列表# a = [1,2,3]# b = a# a.append(666)n/# print(a,b)# 浅 copy  第一层不同 之后相同# l1 = [1,2,3]# l2 =l1.copy()# l1.append(666)#深copy  完全不同# import copy# ll = [1,2,3,[22,33]]

#编码#python 3x#1.不同编码之间的二进制不能互相识别#2.python3x str 内部编码方式为unicode   #但是,对于文件的存储,和传输不能用unicode(占用内存太大)# bytes# bytes类型:内部编码方式为非unicode(utf -8  gbk)

# s = ‘中国‘# print(s,type(s))#转化s = ‘中国‘s2 = s.encode(‘gbk‘)   #str --> bytesprint(s2)ss = s2.decode(‘gbk‘) #bytes-->strprint(ss)
课后作业

购物车作业
money = input(‘请输入您的钱数:‘)
shopping_car = [] #购物车列表
if money.isdigit(): #判断是否为int
money = int(money)
else:
exit(‘请输入正确钱数‘)
welcome_msg = ‘欢迎光临‘ #msg
print(welcome_msg)
goods_list = [(‘电脑‘,1999),
(‘鼠标‘,10),
(‘游艇‘,20),
(‘美女‘,998)
] #产品列表
flag = 0 #标志
while flag is not True:
print(‘商品表 :‘.center(50, ‘-‘))
for item in enumerate(goods_list):
index = item[0]
p_name = item[1][0]
p_price = item[1][1]
print(index,p_name,p_price)
choice = input(‘输入商品序号>>>‘)
if choice.isdigit():
choice = int(choice) #限定输入的为数字
if choice < len(goods_list): #选择序号要在范围内
p_item = goods_list[choice]
if p_item[1] <= money:
shopping_car.append(p_item)
money -= p_item[1] #减去商品金额
print(‘已经购买‘)
for item in shopping_car:#循环一次打印购物车
print(item)
print(‘你的余额为[%s]‘ % money) #输出余额
else:
print(‘无此商品‘)
elif choice == ‘q‘:
print(‘已经结束购物:‘.center(40,‘-‘))
for item in shopping_car:
print(item)
print(‘结束‘)
print(‘剩余[%s]‘ % money)
flag = True
elif choice == ‘c‘:
print(‘请选择商品序号购买‘)
for item in shopping_car:
print(item)
print(‘金额为 %d‘ % money)
else:
print(‘输入有误,请重试‘)



原文地址:https://www.cnblogs.com/yooxxroo/p/8830868.html

时间: 2024-10-18 02:59:36

2.Python基础:数据类型介绍的相关文章

python基础数据类型补充以及编码的进阶

一. 基础数据类型补充内容 1.1 字符串 字符串咱们之前已经讲了一些非常重要的方法,剩下还有一些方法虽然不是那么重要,但是也算是比较常用,在此给大家在补充一些,需要大家尽量记住. #captalize :首字母大写 #swapcase :大小写翻转 #title :每个单词的首字母大写 #center :内同居中,总长度,空白处填充 #寻找字符串中的元素是否存在 #find :返回的找到的元素的索引,如果找不到返回-1 #index :返回的找到的元素的索引,找不到报错. #captalize

Python基础数据类型考试题

# Python基础数据类型考试题 # 考试时间:两个半小时 满分100分(80分以上包含80分及格) # 一,基础题. # 1, 简述变量命名规范(3分) # 1.变量由字母.数字.下划线任意组成 # 2.不能以数字开头 # 3.不能使用python关键字 # 4.变量要具有可描述性 # 5.变量不能是中文 # 5.官网推荐骆峰体和下划线,这里推荐下划线 # 2,字节和位的关系.(2分) # 1字节 = 8位 # 3,'太白'使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占

Python基础数据类型之字符串

Python基础数据类型之字符串 一.Python如何创建字符串 在python中用引号将一些文本包起来就构成了字符串(引号可以是单引号.双引号.单三引号,双三引号,它们是完全相同的) >>> str1 = 'hello' >>> str2 = "hello" >>> str3 = '''hello''' >>> str4 = """hello""" &g

Python基础数据类型题

Python基础数据类型 题考试时间:三个小时 满分100分(80分以上包含80分及格)1,简述变量命名规范(3分) 1.必须是字母,数字,下划线的任意组合. 2.不能是数字开头 3.不能是python中的关键字 4.变量不能是中文 5.变量不能过长 6, 变量要具有可描述性 2,字节和位的关系.(2分)8位等于1个字节3,'A太白'使用utf-8编码时,占的位数和字节数,是多少?使用gbk编码时,占的位数和字节数,是多少.(2分)'A太白'使用utf-8编码时,占56位和7个字节,使用gbk编

2 Python基础数据类型

Python基础数据类型 # 数据类型分为可变数据类型和不可变数据类型 # 可变数据类型:list.set.dict 不可哈希 # 不可变数据类型:str.int.bool.tuple(元祖) 可哈希 基本类型和数据集 基本类型 int 数字型:int 1,2,3,56 取值范围为:-2\*\*31~2**31-1 可以进行的运算:+ - * / **(幂次方) %(取余) type() 查看数据类型 str 字符串:str python中只要是用引号引起来的全是字符串 字符串转化成数字的条件:

python基础数据类型----整数 ,字符串【常用操作方法】,布尔值,for循环

Python基础数据类型(4.29) bool str int 三者之间的转换 str索引切片,常用操作方法 for循环(大量的练习题) 1.基础数类型总览 整数(int) ,字符串(str),布尔值(bool),列表(list),元组(tuple),字典(dict),集合(set). 10203 123 3340 int 主要用于计算+- * / 等等 '今天吃了没?' str 存储少量的数据,并进行相应的操作.str1 + str2, str *int , 索引,切片, 其他操作方法 Tru

python基础数据类型补充以及编码进阶

01 内容大纲 基础数据类型的补充 数据类型之间的转换 编码的进阶 02 具体内容: 数据类型的补充: str # str :补充的方法练习一遍就行. s1 = 'taiBAi' # capitalize 首字母大写,其余变小写 print(s1.capitalize()) # swapcase 大小写翻转 print(s1.swapcase()) # title 每个单词的首字母大写 msg= 'taibai say3hi' print(msg.title()) s1 = 'barry' #

python基础数据类型初始,用户交互

一.基础数据类型初始 1.数字:int  1,2,3 1 print(100,type(100)) 2 print('100',type('100')) 查看数据类型的方法:type()函数 取值范围: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统上,整数的位数为64位,取值范围为-2**63-2**63-1,即-9223372036854775808-922337203685477580

python 基础数据类型 一

基础数据类型 一 整数:在python3中用关键字int来表示 在32位机器上int的范围是: -2**31 2**31-1,即-2147483648-2147483647 在64位机器上int的范围是: -2**63-2**63-1,即-9223372036854775808-9223372036854775807 在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型. 在python3中不存在long类型 整数可以进行的操作+ - * /

python基础1 介绍、数据类型、流程控制

一.Python介绍 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOBE排行榜,Python赶超PHP占据第4,成为除c\c++\java之外的全球第4大最流行的编程语言! Python是什么样的语言? 按照编译型.解释型列举出最常用的几种语言的分类 编译型.解释型各自优缺点: 编译型 优点:编译器一般会有预编译的过程对代码进行优化.因