一.整型和浮点型

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示方法和数学上的写法一模一样

 age=10
num=-35
score=98.8

二.布尔类型

布尔值和布尔代数的表示完全一致,一个布尔值只有TrueFalse两种值,要么是True,要么是False,在Python中,可以直接用TrueFalse表示布尔值(请注意大小写)

 a = True
b = False

三.列表和列表操作

列表是 我们常用的一种数据类型之一,list是一种有序的集合,可以随时添加和删除其中的元素。列表也叫数组,列表定义,使用[]即可。

比如,列出班里所有同学的名字,就可以用一个list表示, 列表里面也可以再套列表。

列表中的元素,下标从0开始计数,比如list1中四个元素,那么他的第一个元素的下标为0,第二个元素的下标为1,依次类推,所以list1[0]输出的是第一个元素1。列表中最后一个元素的下标为-1,所以list2[-1][0]输出的是“羊”这个元素,list3[-1][1]输出的是500这个元素。

 list1 = [1,2,3,4]#一维数组
list2 = ['猫','狗',['羊','猪']] #二维数组
list3 = ['hello','apple',['banana',500,['OK','']]]#三维数组
# print(list1[0])#最前面一个元素的下标是0,最后面一个元素的下标是-1
# print(list2[-1][0])
# print(list3[-1][1])

对于列表的操作,分别有增、删、改、查

增:

 cities = []
cities.append('北京')#在列表末尾增加一个元素
cities.insert(0,'上海')#在列表指定位置增加元素
cities.append('广州')
print(cities)

删:

 # cities.pop(0)#删除指定位置的元素
# cities.remove('广州')#删除指定元素
# cities.clear()#清空列表
# del cities[-1]#删除指定位置的元素

改:

  cities[1] = '南京'#修改的时候如果指定的下标不存在会报错

查:

 print(cities[0])#输出指定位置的元素
print(cities.index('北京'))#获取指定元素的下标,如果找不到那个元素会报错
print(cities.count('广州'))#查看元素在这个list里出现了几次

列表的一些内置方法

 list4 = ['python','jmeter','postman','linux','mysql']
print(list4.reverse())#把这个list反转一下,输出的结果是None
print(list4)#输出的是反转后的list list5=[8,23,12,86,34,10,5]
print(list5.sort())#排序 升序
print(list5)
print(list5.sort(reverse=True))#排序 降序
print(list5) print(list4+list5)#合并两个list
12 print(list4.extend(list5)) #合并列表,把list5的值加到list4后面
print(list4*2)#将list复制
print(list5*2)#将list复制,并不是将里面数值乘2

切片是list取值的一种方式

 nums = [14,7,23,56,34,18]
print(nums[0])#取下标为0的元素
print(nums[1:3])#取小标1至下标3之间的值,包括1,不包括3
print(nums[1:-1])#取小标1至-1的值,不包括-1
print(nums[1:])#取从下标为1的元素以及后面的所有元素
print(nums[:4])#取下标0至4的值,不包括4
print(nums[:])#取所有的 #加上步长如下所示:
nums1=[1,2,3,4,5,6,7,8,9,10]
print(nums1[::2])#这个代表取所有元素,每隔2个元素取一个
#输出[1, 3, 5, 7, 9]
print(nums1[1:8:3])#代表取第二个元素开始,到第八个结束,隔3个取一次
#输出[2, 5, 8]

list循环:

 lists = [
'张流量','李wifi','王路由器','牛网线',[1,2,3,4]
]
for name in lists: #for循环在循环可迭代对象的时候,每次循环的是里面的每一个元素
if type(name)==list: #判断一个变量的类型
for i in name:
print(i)
print(name)

四.元组

元组也是一个list,他和list的区别是,元组里面元素无法修改

如果元组里面 只有一个元素的话,那么你必须在这个元素后面加一个逗号

元组也可以进行循环、切片、下标取值,但无法修改值

 t = (1,2,3,4,5,6,2)
print(type(t))
print(t[0]) #对元组进行下标取值
print(t[:4]) #对元组进行切片取值
for i in t:
print(i)
print(t.index(2)) #找到元素的下标
print(t.count(2)) #找到元素的个数
 k=('abc')
print(type(k))
#输出类型为<class 'str'>
m=('abc',)
print(type(m))
#输出类型为<class 'tuple'>

五.字典

Python内置了字典,dict使用键-值(key-value)存储,具有极快的查找速度。举个例子,假设要根据同学的名字查找对应的成绩,如果用list实现,需要两个list:一个存储姓名names,一个存储成绩score。给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应的成绩,list越长,耗时越长。如果用dict实现,只需要一个“名字”-“成绩”的对照表,直接根据名字查找成绩,无论这个表有多大,查找速度都不会变慢。

 d = {'Michael':88,'Mary':97,'Kevin':92}
print(d['Michael'])
print(d.get('Mary'))#取不到这个key的话,就是None
print(d.get('Aimee',99)) #如果取不到这个key的话,默认就是99
5 print(d.get('Aimee')#如果key不存在,会报错

字典的特性:
字典是无序的,因为它没有下标,用key来当索引,所以是无序的
字典的key必须是唯一的,因为它是通过key来进行索引的,所以key不能重复,天生就去重

字典的增删改查:

增加:

 d['Aimee']=100
d.setdefault('Linda',89)
d.setdefault('Mary',100)#如果key存在的话,不会修改原来key对应的value值
print(d)
#输出{'Kevin': 92, 'Linda': 89, 'Michael': 88, 'Aimee': 100, 'Mary': 97}
d['Mary'] = 100#如果key存在的话,会修改原来key对应的value值
print(d)
#输出{'Kevin': 92, 'Linda': 89, 'Michael': 88, 'Aimee': 100, 'Mary': 100}

修改:

 d['Aimee'] = 88.88

删除:

 d.pop('Kevin')#删除指定key
d.popitem()#随机删除一个key
del d['Mary']#删除指定key
d.clear()#清空字典

查找:

 infos = {'marry': [18, 18612512981, '北京'], 'amy': [20, 18612512991, '山东'], 'lily': [25, 18612532981, '河南']}
infos.get('marry')#获取marry的信息,这种方式如果key不存在的话,会返回None
infos['Marry']#这种方式如果key不存在的话会报错
marry in infos#判断marry是否在这个字典中,返回True或False

字典的内置方法:

 print(d.keys())#获取到字典所有的key
print(d.values())#获取到字典所有的value
print(d.items())#获取到字典所有的k-v
d2={'stu1':95,'stu2':86,'Aimee':66}
d.update(d2)#更新字典值,如果key存在的话就更新,不存在的话就添加

字典循环:

 d = {'Michael':88,'Mary':97,'Kevin':92}
for k in d:
print(k,d[k])#打印key和value的值,推荐使用这种方式,速度快 for k,v in d.items():
print(k,v)#打印key和value的值,这种方式不推荐,因为会把字典转换成列表

字典排序:

d = {'a':,'b':,'c':}  #字典是无序,直接对字典排序是不存在的。
print(d.items()) #每次运行打印的结果顺序都有可能不同
res = sorted(d.items(),key=lambda x:x[]) #sort,循环调用,按key排序
res = sorted(d.items(),key=lambda x:x[]) #按value排序
print(res)

小栗子:

 people = {
'张三':{
'age':18,
'money':200000,
'clothes':'100套',
'hzp':'n多',
'shoes':['nike','addis','lv','chanle']
},
'李四':{
'金库':'2000w',
'house':['三环一套','4环2套'],
'cars': {
'japan':['普拉多','兰德酷路泽'],
'usa':['林肯','凯迪拉克','福特'],
'china':['五菱宏光','qq','红旗']
}
}
}
people['张三']['shoes'].append('匡威')
people['李四']['cars']['usa'].append('牧马人')
people['张三']['money'] = people['张三']['money']+500
people['张三']['money']+=900
print(people)

六.字符串或串(String)是由数字、字母、下划线组成的一串字符。可以存任意类型的字符串,比如名字,一句话等等。

 name = '毛毛球'
word = 'Hello World'

字符串常用方法:

 str='   我是python爱好者  \n\n\n\n\n'
b = str.strip('chars') #移除字符串str头尾指定的字符chars,返回移除字符串头尾指定的字符生成的新字符串
c = str.lstrip() #返回截掉字符串左边的空格或指定字符后生成的新字符串
d = str.rstrip() #返回删除 string 字符串末尾的指定字符后生成的新字符串(默认为空格)
words = 'today is a nice day'
print(words.strip('is'))#如果strip方法指定一个值的话,那么会去掉这两个值
print(words.count('a')) #统计字符串出现的次数
print(words.index('n'))#找下标,如果元素找不到的话,会报错
print(words.find('z'))#找下标,如果元素找不到的话,返回-
print(words.replace('day','DAY')) #替换字符串
url = 'http://www.nnzhp.com'
str = 'asdas32423'
print(url.startswith('http')) #判断是否以某个字符串开头
print(url.endswith('.jpg')) #判断是否以某个字符串结尾
print(words.upper()) #变成大写的
print(words.lower()) #变成小写的
print(str.isalpha()) #判断字符串是否全为字母
print(str.isalnum()) #判断是否包含字母和数字,它是只要有字母或者有数字就返回true
print(str.isupper()) #判断字符串是否全是大写
print(str.islower()) #判断字符串是否全是小写
print(words.isdigit())#判断字符串是否为纯数字
import string
print(string.ascii_letters) #所有的大写字母和小写字母
print(string.ascii_lowercase) #所有的小写字母
print(string.ascii_uppercase) #所有的大写字母
print(string.punctuation) #所有的特殊字符
print('欢迎登录'.center(,'*')) #*加‘欢迎登录’总共50个字符,把‘欢迎登录’放中间 l=['zhang','liu','liang']
res = ','.join(l)
#、它把一个list变成了字符串
#、通过某个字符串把list里面的每个元素连接起来
#、只要是可以循环的,join都可以帮你连起来
names='abcd'
print(list(names)) #把字符串names转换为list
name_list = names.split(‘b’)#根据某个字符串,分割字符串,什么也不传的话,是以空格分割的
print(name_list)
 #把字符串以某个标记分割,存储成一个list
str = '我|家|有|个|乖|宝|贝'
list = str.split('|')
print(list)
#>>>>['我', '家', '有', '个', '乖', '宝', '贝']
 #把list以某个标记连接,存储成一个字符串
list = ['我', '家', '有', '个', '乖', '宝', '贝']
words = ''.join(list)
print(words)
#>>>>我家有个乖宝贝
test = '**'.join(list)
print(test)
#>>>>我**家**有**个**乖**宝**贝

六.格式化输出

什么是格式化输出呢,就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了,有三种方式,第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下: 

name = input('请输入你的名字:')
print('你的名字是'+name) #使用加号连接
print('你的名字是%s'%name)#使用占位符
print('你的名字是{your_name}'.format(your_name=name)) #使用format格式化输出,{}里面的名字可以随便写但是要和后面的format中的名字保持一致,然后再把你前面定义的变量写到等号后面就可以了。
age =
print('我的名字是%s,年龄是%d岁.'%(name,age))#这种是里面有多个格式化内容的,前面那个是字符串,后面这个是整数,多个变量的后面跟值的时候必须要加上括号

Python学习笔记(一)数据类型的更多相关文章

  1. Python学习笔记 - day3 - 数据类型及运算符

    Python的数据类型 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同 ...

  2. python学习笔记二 数据类型(基础篇)

    Python基础 对于Python,一切事物都是对象,对象基于类创建         不同类型的类可以创造出字符串,数字,列表这样的对象,比如"koka".24.['北京', '上 ...

  3. Python学习笔记---数 数据类型 运算

    python的四种数类型: 整数 int 浮点型 float 布尔 boolen 复数 complex >>> type(5)<class 'int'>>>& ...

  4. Python学习笔记3_数据类型

    Python数据类型:数字.字符串.列表.元祖.字典 一.数字类型:(整型.长整型.浮点型.复数型) 1.整型(int):表示范围-2,147,483,648到2,147,483,647 2.长整型( ...

  5. 02 Python学习笔记-基本数据类型(二)

    一.基本知识 1.缩进: 2.一行多条语句: 3.断行: 4.注释 # 单行注释 '''这是一段 多行注释''' 5. 变量 1. 变量类型(局部变量.全局变量.系统变量) 2. 变量赋值 多重赋值x ...

  6. python学习笔记(数据类型)

    python数据类型: int 类型 float 小数类型 string 字符串 布尔类型 a = True b = False 1.列表,也称数组或list或array.它的表达方式通过下标或索引或 ...

  7. python学习笔记:数据类型——列表/数组(list)

    Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素.通过下标访问列表中的元素(又称索引.角标),下标从0开始计数.list定义,使用中括号[]. l ...

  8. python学习笔记:数据类型——数字、字符串、元祖、字典

    计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当然地可以处理各种数值.但是,计算机能处理的远不止数值,还可以处理文本.图形.音频.视频.网页等各种各样的数据,不同的数据,需要定义不同的数 ...

  9. python学习笔记之数据类型(二)

    上一篇博客,小波介绍了python的入门和简单流程控制,这次写python的数据类型和各种数据类型的内置方法. 一.数据类型是何方神圣? 计算机顾名思义就是可以做数学计算的机器,因此,计算机程序理所当 ...

  10. python学习笔记之数据类型、字符编码、文件处理

    1.数据类型 1.数字(int,float) 整形(int):定义 age=20  #本质age=int(20) 浮点类型:salary=3000.3 #本质salary=float(3000.3) ...

随机推荐

  1. tinycore remaster方法

    11.1. PrerequisitesYou need a Linux distribution with the required programs available:cpio, tar, gzi ...

  2. hdu 2025:查找最大元素(水题,顺序查找)

    查找最大元素 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Subm ...

  3. C# 压缩和解压文件(SharpZipLib)

    先从网上下载ICSharpCode.SharpZipLib.dll类库 将文件或文件夹压缩为zip,函数如下 /// <summary> /// 压缩文件 /// </summary ...

  4. STL容器:list双向链表学习

    list是一个双向列表容器,完成了标准C++数据结构中链表的所有功能; list与vector和deque类似,只不过其中的对象提供了对元素的随机访问. STL以双向链表的方式实现list,访问需要从 ...

  5. hdu 2918(IDA*)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2918 思路:这道题与前面几道类似,可以说是被秒杀了!!!构造启发式函数h()=(cnt+3)/4(cn ...

  6. Hibernate_day04--HQL多表查询_Hibernate检索策略

    HQL多表查询 Mysql里面多表查询 1 内连接 查的是两个表关联的数据 2 左外连接 查的是左边表所有数据,右边表关联数据 3 右外连接 HQL实现多表查询 Hql多表查询 (1)内连接 (2)左 ...

  7. js截取最后一个斜杠之后的内容

    var str = "/asdasf/asfaewf/agaegr/trer/rhh"; var index = str .lastIndexOf("\/"); ...

  8. 用一个二维码做下载地址,自动区分是 ios 还是 android

    用一个二维码做下载地址,自动区分是 ios 还是 android, 甚至区分 iphone  和 ipad. <html> <head> <meta http-equiv ...

  9. Android 代码规范 code style

    /* * 文件名(可选),如 CodingRuler.java * * 版本信息(可选),如:@version 1.0.0 * * 版权申明(开源代码一般都需要添加),如:Copyright (C) ...

  10. 记一个在docker中运行多线程event_loop.run_forever()的bug

    问题简介 我写爬虫,用到了asyncio相关的事件循环,新建了一个线程去run_forever(),在docker中运行.后来程序有异常,主线程挂了,但是竟然不报错.查了很久,才找出来. 如果你新建一 ...