python记录_day03 字符串
python基本数据类型回顾
1. int 整数
2. str 字符串. 不会用字符串保存大量的数据
3. bool 布尔值. True, False
4. list 列表(重点) 存放大量的数据
5. dict 字典 key: value 查找会比较快
6. set 集合 无序 不能重复
7. bytes 一堆字节。 我们程序处理的最小单位
8. tuple 元组 不可变的列表
一、int(整数)
对于一个数字除了运算几乎没有其他的操作,如果想找的话倒是有一个bit_lenght(),可以用来计算这个数的二进制长度
二、bool 布尔值
bool没有什么方法,这里说一下数据类型转换问题
x 转成 y类型 => y(x)
比如:
x 转成 int => int(x)
x 转成 str => str(x)
x 转成 bool => bool(x)
在bool转成int时,int(Ture) 是1 int(False)是0
三、字符串
字符串由 ', ", ''', """组成
字符:你能看到的单一文字符号
字符串:字符连成串,有固定顺序的
注意: 字符串是一个不可变的数据类型,不可变数据类型还有数字、元组
什么是可变数据类型和不可变数据类型?
我们知道数据在创建的的时候都会申请一个内存空间用来存储它,变量名只是指向这个内存空间。对于不可变数据类型来说,对变量的操作会改变它的内存空间(id),而对可变数据类型的操作则不会改变内存空间id
>>>a = 1
>>>id(a)
4297537952
>>> a = a + 1
>>> id(a)
4297537984 #列表
>>>line=[1,2,3,4]
>>>id(line)
4392665160
>>>line[1] = 5
>>>line
[5,2,3,4]
>>>id(line)
>>>4392665160
1.1 索引
索引就是字符串中每个元素所对应的位置,索引从0开始
>>>str = hello
>>>str[o] = h
>>>str[1] = e
>>>str[-1] = o
1.2 切片
切片语法:
str[start:end:step]
start是开始索引
end是结束索引,但结束索引对应元素取不到(顾头不顾腚)
step 表示步长,即多少元素中取一个,如果是2的话就是两个元素中取一个
步长是整数表示从左往右取,是负数表示从右往左取,默认是1
>>>str = "hello world"
>>>str[0:3]
hel
>>>str[0: ]
hello world
>>>str[-3:-1]
rld
>>>str[ : :-1]
dlrow olleh
1.3 大小写转来转去
s ="hello old boy"
s.capitalize() 将句子首字母转成大写
s.title() 将特殊符号隔开的单词首字母都转为大写
s.upper() 全部转为大写
s.lower() 全部转为小写
s.casefold() 全部转为小写 和lower()的区别是 lower()对某些字母支持不够好,而这个支持所有字母,比如东欧一些字母
s.swapcase() 大小写互相转换
1.4 切来切去
str = "old boy "
str.center(10 , *) 居中 把str扩展到长度为10,用*填充
str.strip() 去掉字符串两端的空白(包括空格,换行符,\t),
str.lstrip() 去掉左边的空白
str.rstrip() 去掉右边的空白
str.strip("s") 去掉两边的指定字符序列,只要是两端有序列中的内容都会去掉
name = "aleX leNb"
print(name.strip("ab")) #移除开头的a和结尾的b
str.replace("old", "new") 字符串替换 把old替换成new
str.split(" x ") 根据 x 对字符串进行切割,得到的是一个列表,如果切割符在左右两端. 那么 一定会出现空字符串。(深坑请留意)
如果split()没给值,会根据空白切割得到一个列表,并将空字符串从列表中删除(在操作文件时有时候会很方便)
1.5 格式化字符串方式二
使用.format()方法
# 格式化输出
s12 = "我叫%s, 今年%d岁了, 我喜欢%s" % ('sylar', 18, '周杰伦')
# 之前的写法
print(s12)
s12 = "我叫{}, 今年{}岁了, 我喜欢{}".format("周杰伦", 28, "周润发")
# 按位置格式化
print(s12)
s12 = "我叫{0}, 今年{2}岁了, 我喜欢{1}".format("周杰伦", "周润发", 28)
# 指定位置
print(s12)
s12 = "我叫{name}, 今年{age}岁了, 我喜欢{singer}".format(name="周杰伦", singer="周润
发", age=28)
# 指定关键字
print(s12)
1.6 查找
str = "我喜欢python"
str.startswith("x") 是否以 x 开头
str.endswith("x") 是否以 x 结尾
str.count("x") x在str中出现的次数
str.find("x") 查找str中是否存在 x ,有就返回索引值,没有返回-1
str.find("x", a , b) 切片查找
str.index("x") 查找 x 的索引值,有就返回,没有报错
1.7 条件判断
str.isalnum() 是否由字母和数字组成
str.isdigital() 是否由数字组成
str.isdecimal() 检查字符串是否只包含十进制字符
str.isnumeric() 是否由数字组成,比较厉害,中文数字都能识别
str.isalphl() 是否由字母组成
1.8 计算字符串长度
len() 函数
str = "我是不是你最爱的人"
print(len(str)) #输出str长度
1.9 迭代
for 变量 in 可迭代对象:
循环体(break,continue)
else:
else语句
'''用for循环对s="321"进行循环,打印的内容依次是:"倒计时3秒","倒计时
2秒","倒计时1秒","出发!"。
'''
s = ""
for c in s:
# print("倒计时%s秒" % c)
print("倒计时{}秒".format(c))
else:
print("出发")
python记录_day03 字符串的更多相关文章
- Python数据类型-02.字符串
本文主要记录字符串的相关知识,包括字符串的定义特点,常用方法和 请知悉: 计算机中,一切皆为对象世界万物,皆为对象,一切对象皆可分类 1.什么是字符串? 类似"hello world&quo ...
- Python datetime 格式化字符串:strftime()
Python datetime 格式化字符串:strftime() Python 的datetime模块 其实就是date和time 模块的结合, 常见的属性方法都比较常用 比如: datetim ...
- 茴香豆的“茴”有四种写法,Python的格式化字符串也有
茴香豆的"茴"有四种写法,Python的格式化字符串也有 茴香豆的"茴"有四种写法,Python的格式化字符串也有 被低估的断言 多一个逗号,少一点糟心事 上下 ...
- Python中关于字符串的问题
在Python里面,字符串相加经常会出现'ascii' codec can't decode byte 0xe7 in position 0: ordinal not in range(128)这样的 ...
- python出输出字符串方式:
python出输出字符串方式: >>> who='knights' >>> what='NI' >>> print ('we are the',w ...
- Python学习笔记-字符串
Python之使用字符串 1.所有的标准序列操作(索引,分片,乘法,判断成员资格,求长度,取最小值,最大值)对字符串同样适用.但是字符串都是不可变的. 2.字符串格式化使用字符串格式化操作符即%. f ...
- Python中Unicode字符串
Python中Unicode字符串 字符串还有一个编码问题. 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理.最早的计算机在设计时采用8个比特(bit)作为一个字节(byte ...
- Python基础(二) —— 字符串、列表、字典等常用操作
一.作用域 对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用. 二.三元运算 result = 值1 if 条件 else 值2 如果条件为真:result = 值1如果条件为 ...
- Python补充05 字符串格式化 (%操作符)
作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在许多编程语言中都包含有格式化字符串的功能,比如C和Fortran语言中的格式化输 ...
随机推荐
- ZOJ 1602 Multiplication Puzzle(区间DP)题解
题意:n个数字的串,每取出一个数字的代价为该数字和左右的乘积(1.n不能取),问最小代价 思路:dp[i][j]表示把i~j取到只剩 i.j 的最小代价. 代码: #include<set> ...
- 【做题】sgu189 Perl-like Substr——dark模拟
注:这篇博客纯属为凑篇数而生. 题面较长,幸运的是,网上给出了相当不错的翻译. 需要支持的操作很简单,即对子串提取.赋值和输出,且对时间复杂度没有要求.换言之此题有成为块链毒瘤题的潜质.难点在于输入的 ...
- 清除浏览器CSS样式
/* YUI 3.18.1 (build f7e7bcb) Copyright 2014 Yahoo! Inc. All rights reserved. Licensed under the BSD ...
- 20165306学习基础和C语言基础调查
20165306学习基础和C语言基础调查 技能学习心得 我认为兴趣.责任感.毅力对技能的获得非常重要. 因为我从小五音不全.肢体不协调,所以看春晚等节目的时候会把更多的关注点放在主持人身上.小时候觉得 ...
- axios的学习与使用
最近的项目都是使用的vue框架,所以请求都使用了vue官方推荐的axios. 官方中文介绍 此处记录一下常用的写法 执行 GET 请求 // 为给定 ID 的 user 创建请求 axios.get( ...
- DataTableHelper
public class DataTableHelper { /// <summary> /// 给DataTable增加一个自增列 /// 如果DataTable 存在 identity ...
- 理解 Redis(1) - Redis 简介
Redis 的含义 全称: REmote DIctionary Server 远程词典服务器 由于支持 string, list, set, ordered set, hash 等多重数据结构, 因此 ...
- P1948 [USACO08JAN]电话线Telephone Lines
传送门 思路: 二分+最短路径:可以将长度小于等于 mid 的边视为长度为 0 的边,大于 mid 的边视为长度为 1 的边,最后用 dijkstra 检查 d [ n ] 是否小于等于 k 即可. ...
- Windows下Apache服务器搭建
Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,是世界使用排名第一的Web服务器软件,可以在大多数计算机操作系统中运行,由于其多平台和安全性 ...
- composer require 指定版本
默认 composer require endroid/qr-code 指定版本 composer require endroid/qr-code 1.9.3 # composer require e ...