python 基础 three day
本节主要内容:
一. python基本数据类型有哪些?
1. int ==> 整数.主要用来进行数学计算.
2. str ==> 字符串,可以保存少量数据并进行相应的操作
3. bool==>判断真假, True, Fals
4. list==> 存储大量数据.用[ ]表示
5. tuple=> 元组, 不可以发生改变 用( )表示
6. dict==> 字典, 保存键值对, 一样可以保存大量数据 {} 查找比较快. key:value,一次存两个数据,一对一对存.
7. set==> 集合, 保存大量数据. 不可以重复. 其实就是不保存value的dict 只存key 比较少见
二. 整数 (int)
整数可以进行的操作: bit_length(). 计算整数在内存中占用的二进制码的长度
- a = # (不要和编码混一起)
- print (a.bit_length()) # 求的有效长度
- a = #
- print(a.bit_length())
三.布尔值 (bool)
数字转换成 bool
如果数字是0 结果是假(False)
如果数字是非0 结果是真 (True)
True 和 1 的效率问题, 1 的效率高.
取值 只有 True, False. bool值没有操作的.
转换问题:
str => int int(str)
int => str str(int)
int => bool bool(int). 0是False 非0是True
bool => int int(bool)
str => bool bool(str) 空字符串是False, 不空是True
bool => str str(bool) 把bool值 转换成相应的"值"
# True => int => 1
# False => int => 0
- 比如:
- print(
四. 字符串(str)
把字符连成串. 在python中用', ", ''', """引起来的内容被称为字符串.
空字符串是 False 非空字符串是 True suoyin
4.1 切片和索引
1. 索引: 字符串中的第几个字符 必须用[]
索引语法 字符串[索引] 索引从 0 开始
- #
- s1 = "python牛B"
- print(s1[]) # 获取第0个
- print(s1[])
- print(s1[])
- print(s1[])
- print(s1[])
- print(s1[])
- print(s1[])
- print(s1[])
- print(s1[])
- # print(s1[]) # 没有9, 越界了. 会报错
- print(s1[-]) # - 表示倒数.
- print(s1[-]) # 倒数第二个
2.切片
切片,顾头不顾腚,前面切得到 后面切不到.
语法:
str[start:end:step]
start : 从xxx开始
end : 切到xxx为止
step: 步长
步长: 如果是整数,则从左往右取, 如果是负数,则从右往左取,默认是1
- s2 = "python最牛B"
- print(s2[:]) # 从0获取到3. 不包含3. 结果: pyt
- print(s2[:]) # 结果
- print(s2[:]) # 大是8. 但根据顾头不顾腚, 想要取到8必须给9
- print(s2[:]) # 如果右边已经过了大值. 相当于获取到后
- print(s2[:]) # 如果想获取到后. 那么后一个值可以不给.
- print(s2[-:-]) # 从- 获取到 - 这样是获取不到任何结果的. 从-1向右数. 你怎么数也数不到-
- print(s2[-:-]) # 牛b, 取到数据了. 但是. 顾头不顾腚. 怎么取后一个呢?
- print(s2[-:]) # 什么都不写切到最后
- print(s2[:-]) # 这个是取到倒数第一个
- print(s2[:]) # 全部切出来
跳着切
- # 跳着取, 步长
- print(s2[::]) # 从第一个开始取, 取到第5个,每2个取1个, 结果: yh, 分析: :=> ytho => yh
- print(s2[::]) # 从头开始到第五个. 每两个取一个
- print(s2[::]) # 从4开始取到后. 每两个取一个
- print(s2[-::]) # 从-5取到后.每两个取一个
- print(s2[-:-]) # -:-5什么都没有. 因为是从左往右获取的.
- print(s2[-:-:-]) # 步长是-. 这时就从右往左取值了
- print(s2[-::-]) # 从倒数第5个开始. 到开始. 每3个取一个, 结果oy
- 例子2
- s="abcdefghijklmn"
- print(s[::]) # 每两个切一个 得出 aceg
- print(s[::]) # be
- print(s[-:-]) #倒数也可以跳着切 得出 ghijkl
- print(s[::-]) #反着切
3.字符串相关操作方法
切记, 字符串是不可变的对象, 所以任何操作对原字符串是不会有任何影响的
① 大小写转换
.capitalize() #首字母大写
.title() #标题,每个单词首字母大写,
特殊字符,中文在这里算特殊字符
.upper() # 全部转换成大写字母
.lower() #全部转换成小写字母
.swapcase() # 大小写转换
② 居中 和 更改teb:
.center() # 拉长多少个字符, 由*进行填充 居中
.expandtabs() #更改\t 变成8个空格
③ 去掉空格 strip
.strip(xxx) #去掉左右两边的xxx(默认参数为空格) !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.lstrip() # 去掉左边空格 ( l 可以理解为left 左边)
.rstrip() # 去掉右边空格 ( r 可以理解为ringt 右边)
④ 替换 replace:
str.replace(参数1, 参数2, 参数3) 替换: 把参数1替换成参数2, 参数3表示替换的次数,默认 mox(全部)
⑤ 切割 split:
str.split(参数1 = 用什么来切, 参数2 = 切的次数 默认是-1 切到最后) 切割 : 用 参数1 把str切割 参数2 次,断开的字符串,组成一个列表, 同时丢失掉 参数1的字符串.
切割完后的结果 是list 列表
如果原字符串和刀一样,得到是由两个空字符的列表
如果刀在原字符串中找不到切点,得到的还是原字符;
如果是 空字符串, 就报错了;
如果在开头或者结尾的时候 出现了你的刀,一定会出现空字符串
⑥ 格式化输出:
- # 格式化输出
- s12 = , '周杰伦') # 之前的写法
- print(s12)
- s12 = , "周润发") # 按位置格式化
- print(s12)
- s12 = ) # 指定位置
- print(s12)
- s12 = ) # 指定关键字
- print(s12)
⑦
.count 数数
.find 查找 如果你要查找的不存在,返回-1 如果存在 返回索引
.index 求索引的位置 如果找不到就报错
⑧ 条件判断:
.startswith() # 判断字符是否以xxx开头
.endswith() #判断字符是否以xxx结尾
.isalnum() #是否是字母和数字组成
.isdgit() #是否以数字组成 不识别小数点
.isnumeric() #是否是全部是数字, 这个比较屌.中文的都能识别
.isalpha() #是否全部都是字母
len(变量名) #判断字符有多长 (内置函数)
- s18 = "我是你的眼, 我也是a"
- ret = len(s18) # 计算字符串的长度
- print(ret)
- 注意: len()是python的内置函数. 所以访问方式也不一样. 你就记着len()和print()一样就行了
判断是不是小数 看下面例子琢磨:
- # 练习. 用算法判断某一个字符串是否是小数
- s17 = "-123.12"
- s17 = s17.replace("-", "") # 替换掉负号
- if s17.isdigit():
- print("是整数")
- else:
- and not s17.startswith(".") and not s17.endswith("."):
- print("不是小数")
- else:
- print("不是小数")
!!! 迭代
while循环 for循环
for 变量 in 可迭代对象:
pass
可迭代对象:可以一个一个往外取值的对象
- s19 = "大家好, 我是Alex, python的小朋友们. 你们好么?"
- # 用while循环
- index =
- while index < len(s19):
- print(s19[index]) #利用索引切片来完成字符的查找
- index = index +
- #用for循环
- for w in s19:
- print(w)
- '''
- in有两种用法:
- .在for中,是把每一个元素获取到赋值给前面的变量
- .不在for中,判断xxx是否出现在str中.
- '''
怎样去计算在字符串中有多少个数字呢?
- # 练习, 计算在字符串"I am sylar, I'm 14 years old, I have 2 dogs!"
- s20 = "I am sylar, I'm 14 years old, I have 2 dogs!"
- count =
- for c in s20:
- if c.isdigit():
- count = count +
- print(count)
python 基础 three day的更多相关文章
- python之最强王者(2)——python基础语法
背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于pytho ...
- Python开发【第二篇】:Python基础知识
Python基础知识 一.初识基本数据类型 类型: int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位 ...
- Python小白的发展之路之Python基础(一)
Python基础部分1: 1.Python简介 2.Python 2 or 3,两者的主要区别 3.Python解释器 4.安装Python 5.第一个Python程序 Hello World 6.P ...
- Python之路3【第一篇】Python基础
本节内容 Python简介 Python安装 第一个Python程序 编程语言的分类 Python简介 1.Python的由来 python的创始人为吉多·范罗苏姆(Guido van Rossum) ...
- 进击的Python【第三章】:Python基础(三)
Python基础(三) 本章内容 集合的概念与操作 文件的操作 函数的特点与用法 参数与局部变量 return返回值的概念 递归的基本含义 函数式编程介绍 高阶函数的概念 一.集合的概念与操作 集合( ...
- 进击的Python【第二章】:Python基础(二)
Python基础(二) 本章内容 数据类型 数据运算 列表与元组的基本操作 字典的基本操作 字符编码与转码 模块初探 练习:购物车程序 一.数据类型 Python有五个标准的数据类型: Numbers ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- python基础之day1
Python 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. Python为我们提供了非常完善的基础代码库,覆盖了 ...
- python基础之文件读写
python基础之文件读写 本节内容 os模块中文件以及目录的一些方法 文件的操作 目录的操作 1.os模块中文件以及目录的一些方法 python操作文件以及目录可以使用os模块的一些方法如下: 得到 ...
- python基础之编码问题
python基础之编码问题 本节内容 字符串编码问题由来 字符串编码解决方案 1.字符串编码问题由来 由于字符串编码是从ascii--->unicode--->utf-8(utf-16和u ...
随机推荐
- webpack3.x版本实战案例【基础配置篇】(一)
本文旨在通过一个一个实战例子来学习webpack如何配置,更加深入的学习webpack在实战项目中如何配置. 我们学习哪些配置呢? [基础配置] 打包JS 编译ES6 编译typeScript 打包公 ...
- 开源ETL工具之Kettle介绍
What 起源 Kettle是一个Java编写的ETL工具,主作者是Matt Casters,2003年就开始了这个项目,最新稳定版为7.1. 2005年12月,Kettle从2.1版本开始进入了开源 ...
- 使用JAVA数组实现顺序栈
1,首先总结一下线性表(分为顺序表和链接表,[即顺序存储结构和链式存储结构的区别])和栈(顺序栈和链接栈)还有队列(顺序队列和链接队列)的JAVA类库中的实现: java.util.ArrayList ...
- Install Ubuntu Server
进入引导程序以后, 选择Install Ubuntu Server, 安装主菜单如下: 依次配置: 接着 https://www.youtube.com/watch?v=gqLaT01yei0
- jquery判断对象是否存在
if($("#abc").length >0) { ... } if($("#abc").html() != "") { ... }
- C#生成Guid,SqlServer生成Guid
https://www.cnblogs.com/che109/p/6808143.html工作中需要用到全球唯一标识符,在.net当中 微软已经为我们添加了此方法,我们只需要直接调用即可.代码如下: ...
- wordpress网站分类目录怎么排序
1.插件实现分类目录排序.安装插件My Category Order 启用插件,在控制面板的文章菜单下就出现如下图所示的目录调整选项,可以用鼠标随意拖曳调整目录排列顺序. 2.修改代码完成wordpr ...
- target与currentTarget与this的区别
target与currentTarget与this的区别: target在事件流的目标阶段:currentTarget在事件的捕获.目标及冒泡阶段. 只有当事件流处在目标阶段的时候,二者的指向才是一致 ...
- K - Subarrays OR Gym - 102152K (思维)
题目链接: K - Subarrays OR Gym - 102152K 题目大意:T组测试样例,然后n个数,让你求每一个l,r中有多少个不同的异或值. 具体思路: 对于(1,i)这个区间, 我们当前 ...
- Django 学习手册 - 下载数据库表格(XLS/CSV)
下载XLS表格方式: 前置: 需要安装xlwt模块 views : def export_users_xls(request): response = HttpResponse(content_typ ...