Python之路-基本数据类型
一.数据类型
1.数字
包含整型和浮点型,还有复数
2.字符
长度,索引,切片也适用于列表的操作
长度 len()
索引 index()
切片 name[0:8] 左闭右开
name[-6:]
name[0::2] #2 步长
3.列表
增删改查
4.列表和元组的差别
列表内容可修改,而元组内容不可修改(不可变性)
5.字典
二.数据类型的方法
类所含有的所有方法中 带有两个下划线的就是内置函数,暂时不用理会(面向对象的时候会用到)
例如
n1 = 2
n2 = 3
print(n1 + n2) =======>print(n1.__and__(n2)) 实际上调用的时这个内置函数
- int类
1.bit_length 用二进制表示数字时,所需要的最小位数
例如
n1 = 4 ====> 100
print(n1.bit_length()) ====> 3
- str类
1.capitalize(self) |
首字母大写 |
2.casefold(self) |
所有字母变小写,包括拉丁文等 |
3.center(self, width, fillchar=None) |
字符串居中显示,可填充位宽和填充符(默认空格) |
4.count(self, sub, start=None, end=None) |
计算字符串中子序列的出现次数,可指定起始和终止位 |
5.endswith(self, suffix, start=None, end=None) |
判断字符串以suffix结尾 |
6.expandtabs(self, tabsize=8) |
扩充tab位宽(转换为空格),默认8位 |
7.find(self, sub, start=None, end=None) |
寻找元素或者子序列,找不到返回-1 |
8.format(*args, **kwargs) |
格式化输出使用 |
9.index(self, sub, start=None, end=None) |
查询元素或子序列的索引,没有找到会报错 |
10.isalnum(self) |
是否是数字或者字母 |
11.isalpha(self) |
是否是字母 |
12.isdecimal(self) |
是否是十进制数字 |
13.isdigit(self) |
是否是数字 |
14.isidentifier(self) |
是否是可用的标识符 |
15.islower(self) |
是否是小写 |
16.isnumeric(self) |
是否是数字,可判断“一”,“I” |
17.isprintable(self) |
是否可打印 |
18.isspace(self) |
是否是空格 |
19.istitle(self) |
是否是标题,每个单词首字母大写 |
20.isupper(self) |
是否是大写 |
21.join(self, iterable) |
把字符串作为连接符,连接到一个可迭代的对象中 |
22.ljust(self, width, fillchar=None) |
左对齐,参照center |
23.lower(self) |
所有字母变小写 |
24.lstrip(self, chars=None) |
去掉字符串左边的空格,\t,\n |
25.partition(self, sep) |
从左边分割,前,中,后三部分,返回元组,其中seq为中 |
26.replace(self, old, new, count=None) |
替换,count计数(替换几次) |
27.rfind(self, sub, start=None, end=None) |
从右边开始寻找 |
28.rindex(self, sub, start=None, end=None) |
从右边开始索引 |
29.rjust(self, width, fillchar=None) |
右对齐,参见center |
30.rpartition(self, sep) |
从右边分割,前,中,后三部分,返回元组,其中seq为中 |
31.rsplit(self, sep=None, maxsplit=-1) |
从右边开始进行字符串分割,返回值是分割后的列表,不含seq |
32.rstrip(self, chars=None) |
去掉字符串右边的空格,\t,\n |
33.split(self, sep=None, maxsplit=-1) |
从左边开始进行字符串分割,返回值是分割后的列表,不含seq |
34.splitlines(self, keepends=None) |
按照换行符分割 |
35.startswith(self, prefix, start=None, end=None) |
是否以prefix开头 |
36.strip(self, chars=None) |
默认去掉字符串前后的空格,\t,\n |
37.swapcase(self) |
字符串中大小写互换 |
38.title(self) |
将字符串变成标题,即每个单词首字母大写 |
39.upper(self) |
字母变大写 |
40.zfill(self, width) |
左边以0填充width的字符串 |
- list类
1.append(self, p_object) |
在列表最后添加p_object |
2.clear(self) |
清空列表(但推荐使用 l =[]清空) |
3.copy(self) |
复制这个列表,拷贝的只是这个列表中元素的引用 |
4.count(self, value) |
计算对应元素在列表中出现的次数 |
5.extend(self, iterable) |
在原列表中扩展一个可迭代的对象 |
6.index(self, value, start=None, stop=None) |
查找元素的索引值,可指定起始和终止的位置,没有找到会报错 |
7.insert(self, index, p_object) |
在指定位置插入元素 |
8.pop(self, index=None) |
删除指定位置的元素,默认为最后一个 |
9.remove(self, value) |
移除左边起第一个值为value的元素,如果没有会报错 |
10.reverse(self) |
列表元素反转 |
11.sort(self, key=None, reverse=False) |
排序,同一类可排序,默认以字符的ASCII升序,改reverse可降序 |
- tuple类
1.count(self, value) |
计算元组中元素出现的次数 |
2.index(self, value, start=None, stop=None) |
返回元组中元素的索引 |
- dict类
1.clear(self) |
清空字典 |
2.get(self, k, d=None) |
返回所选key的值,没有返回None |
3.items(self) |
字典的键值对 |
4.keys(self) |
字典的键 |
5.pop(self, k, d=None) |
删除字典中键为k的键值对,返回删除的值 |
6.popitem(self) |
随机删除一个键值对,并返回删除的键值对的元组 |
7.update(self, E=None, **F) |
利用字典对前一个字典进行内容更新 |
8.values(self) |
字典的值 |
三.作业 #作业一: 跳出多层循环,三层循环,在最里层,直接跳出
exit_flag = True #退出的标志位
for i in range(3):
if exit_flag == True:
print('i---->',i)
for j in range(3):
if exit_flag == True:
print('j--->',j)
for k in range(3):
print('k--->',k)
if k==1:
exit_flag = False
break
else:
break
else:
break
print('last line!')
# 作业二: 购物车程序:
#你可以买下的东西:1 iPhone:5800 2 coffee 30 3 book 50 4 condom 90
#选择你要买的东西
#判断是否买的起
#放入购物车,扣钱,打印余额
#还可以继续选择购买
money = int(input("请输入你有多少元:"))
goods = ['iphone', 'coffee','book','shirt','chocolate'] #商品列表
price = [ 5800,300,500,1000,50] #商品单价
buy_num = [0,0,0,0,0] #加入购物车每一种商品的个数
total = 0 #加入购物车一共有几件,作为是否有够买商品的判断
exit_flag = True #退出标志位
remain_money = money #剩余的钱
print("我们商店有以下的商品:")
for i in range(goods.__len__()): #打印商品列表
print(i,goods[i],price[i]) while exit_flag == True:
number = int(input("请输入你想买的商品标号:"))
if number >= goods.__len__():
choice = input("商品不存在,退出?(y,n)")
if choice == "y":
exit_flag = False
else:
count = int(input("请输入你想买几件:"))
buy_num[number] +=count #在buy_num中到对应位置存下购买商品个数
remain_money = remain_money - price[number]*count #扣钱
if remain_money >= 0:
print("你还有",remain_money,"元")
choice = input("退出?(y,n)")
if choice == "y":
exit_flag = False
else:
print("钱不够了!!!")
remain_money = remain_money + price[number]*count #没有购买成功,操作前的钱和购买数量
buy_num[number] -=count #没有购买成功,操作前的钱和购买数量
print("你还有",remain_money,"元","你选择的商品需要花费",price[number]*count,"元")
choice = input("退出?(y,n)")
if choice == "y":
exit_flag = False for i in range(buy_num.__len__()):
total += buy_num[i] if total == 0:
print("你没有购买任何商品")
else:
print("------------------------------购物清单---------------------------------")
print("你购买了以下商品:")
for i in range(buy_num.__len__()):
if buy_num[i] > 0:
print(goods[i],'----',buy_num[i],'个')
print('你还有',remain_money,'元')
Python之路-基本数据类型的更多相关文章
- python之路:数据类型初识
python开发之路:数据类型初识 数据类型非常重要.不过我这么说吧,他不重要我还讲个屁? 好,既然有人对数据类型不了解,我就讲一讲吧.反正这东西不需要什么python代码. 数据类型我讲的很死板.. ...
- Python之路-基础数据类型之字典 集合
字典的定义-dict 字典(dict)是python中唯⼀的⼀个映射类型.他是以{ }括起来的键值对组成,字典是无序的,key是不可修改的.dic = {1:'好',2:'美',3:'啊'} 字典的操 ...
- 小白的Python之路 day1 数据类型,数据运算
一.数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j ...
- Python之路-基础数据类型之字符串
字符串类型 字符串是不可变的数据类型 索引(下标) 我们在日常生活中会遇到很多类似的情况,例如吃饭排队叫号,在学校时会有学号,工作时会有工号,这些就是一种能保证唯一准确的手段,在计算机中也是一样,它就 ...
- Python之路-基础数据类型之列表 元组
列表的定义 列表是Python基础数据类型之一,它是以[ ]括起来, 每个元素用' , '隔开而且可以存放各种数据类型: lst = [1,2,'你好','num'] 列表的索引和切片 与字符串类似, ...
- 百万年薪python之路 -- 基础数据类型的补充练习
1.看代码写结果 v1 = [1,2,3,4,5] v2 = [v1,v1,v1] v1.append(6) print(v1) print(v2) [1,2,3,4,5,6] [[1,2,3,4,5 ...
- 百万年薪python之路 -- 基础数据类型的补充
基础数据类型的补充 str: 首字母大写 name = 'alexdasx' new_name = name.capitalize() print(new_name) 通过元素查找下标 从左到右 只查 ...
- python之路-基本数据类型之list列表
1.概述 列表是python的基本数据类型之一,是一个可变的数据类型,用[]方括号表示,每一项元素使用逗号隔开,可以装大量的数据 #先来看看list列表的源码写了什么,方法:按ctrl+鼠标左键点li ...
- python之路-bytes数据类型
一. python 3最重要的新特性大概要算是对文本和二进制数据作了更为清晰的区分.文本总是Unicode,由str类型表示,二进制数据则由bytes类型表示.python 3不会以任意隐式的方式混用 ...
随机推荐
- HttpClient请求详解
HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建 ...
- framework各版本新特性(为面试准备)
菜鸟D估计描述这些新特性的文章都是烂大街的货色,之所以拿出来分(e)享(xin)一下,有两个原因:1.当年面试的时候有人问到,我不知道该怎么回答:2.项目需要发布了,但是考虑到framework的版本 ...
- android学习10——对顶点着器和片段着色器的理解
图形都是点,线,面组成的.顶点着器指定了顶点的位置,大小和颜色. 看一个顶点着色器的代码 attribute vec4 a_Position; attribute float a_PointSize; ...
- 一个初学所了解的jquery事件
在jquery中,事件总体分为两大类:简单是件和复合事件今天我们只来学习一下简单事件 绑定事件和事件处理函数的语法格式(DOM 对象.事件名=函数:) 简单事件分为: 1.window事件 所谓win ...
- 漂亮的代码2:遍历文件夹目录,使用promise
看到一个问题: 找到文件夹下所有文件: 自己写了一个: function walk(dir, ext, callback) { ext = ext.charAt(0) === "." ...
- 【排序算法】冒泡排序算法 Java实现
基本思想 设数组长度为N. 比较前后两个数据,如果前面的数据大于后面的数据,就将两个数据交换. 这样对数组的第0个数据到N - 1个数据进行遍历后,最大的一个数据就沉到了数组的第N - 1个位置. N ...
- HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(二)
HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(一) 下面来查看其他对保存HSTS信息的enabled_sts_hosts ...
- js中的面向对象入门
什么是对象 我们先来看高程三中是如何对对象进行定义的 "无序属性的集合,其属性可以包括基本值.对象或者函数",对象是一组没有特定顺序的的值.对象的没个属性或方法都有一个俄名字,每个 ...
- 问题 : lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotatedElementUtils,的解决方法
今天在做junit 测试的时候 出现了一个问题,花了一段时间 才解决. java.lang.NoClassDefFoundError: org/springframework/core/annota ...
- 对spring web启动时IOC源码研究
研究IOC首先创建一个简单的web项目,在web.xml中我们都会加上这么一句 <context-param> <param-name>contextConfigLocatio ...