Day3--Python--字符串,for循环,迭代
常见的基本数据类型:
1.int 整数 主要用来进行数学运算
2.bool 布尔. 判断真假. if 和 while循环中常用
3.str 字符串,一般放小量数据
4.list 列表.可以存放大量的数据,用[]表示
5.dict 字典{},以key:value的形式存储数据,查找速度快
6.set 集合(数学,集合内没有顺序,分散分布)
7.tuple 元组,用()表示 #不可变(内容不可改变) 一.int
整数:常见的操作+,-,*,/,//,%,** bit_length() 一个数的二进制长度
a = 1 # 10进制 1 二进制 1
a = 2 # 10进制 2 二进制 10
a = 3 # 10进制 3 二进制 11
---------------------------------------------e.g.-----
a = 4
print(a.bit_length()) #结果:3 用二进制表示4是100,共3位,长度是3 二.bool
类型转换结论:
1.类型转换:想转化成XX数据类型 XX(目标)
2.True => 1 False => 0
3.可以当做False来用的数据:0,""空字符串,[]空列表{}空字典,tuple()空元组,set()空集合,None
True:除了False的都是True.
用法:
lst = [1, 2, 3]
if lst: #如果列表不为空,True,条件成立,如果为空,False,条件不成立,执行else
pass
else:
pass
4.所有的空的东西都是False
-------------------True => 1------------------------ while 1: #True 1比True运行快
print('哈哈哈')
---------------------类型转换-----------------------
如果想把字符串转化成int int(str)
把int转化成str str(int)
结论: 想转化成xxx数据类型 xxx(目标)
-------------------所有的空的东西都是False---------------------------
s = "1"
if s: #True 结果为打印娃哈哈
print("娃哈哈") s = "" #False
if s: #False 结果不打印
print("娃哈哈") 三.字符串
1.字符:单一文字符号
2.字符串:有序的字符序列
字符串是由'" ''' """ 括起来的内容
-------------------------------------------
索引:一排数字,反映第某个位置的字符.索引的下标从0开始,使用[]来获取数据
-------------------------------------------------------------
0 1 2 3 4 5 6
s = '张国荣是最帅的'
print(s[0]) #张
print(s[-1]) #倒数第一个字符 #的
-------------------------------------------- 切片 s[start:end:step] 顾头不顾尾,end结束位置取不到,顺序从左往右切
第三个参数:步长 默认是1,从左往右取; 当步长为-1时从右往左取
正负代表方向,可以画数轴辨别方向
工作原理: s[start + step] # [1:8:2] 取1,3,5,7
-----------------------------------------------
s[0:3] 张国荣
s[-3:-1] 最帅 #顾头不顾尾
s[1:] 从第二个字切到结尾 #国荣是最帅的
s[:2] 从头开始切到第二个字 #张国
s[:] 从头切到尾 #张国荣是最帅的
--------------------------------------------- s[1:5:2] 从1到4,步长是2,空一个字 # 国是
s[::-1] #把字符串顺序倒过来 空代表首尾 #的帅最是荣国张
----------------------------------------------
name = "aleX leNb"
s = name[-1:-5:-1]
print(s)
#bNel
----------------------------------------------
s = input('请输入:')
s1 = s[::-1]
if s1 == s:
print('是回文')
else:
print('不是回文') #回文e.g. 上海自来水来自海上 , 12321 小结:
切片 s[start:end:step] 顾头不顾尾,顺序从左往右切
start: 起始位置
end: 结束位置,顾头不顾尾 3.常用操作方法
#字符串是不可变的数据类型
1.upper() 转化成大写,忽略大小写的时候用
2.strip() 去掉左右两端的空格,空白; \t 表示一个制表单位 ##################
用户输入的内容都要去空白#######################################
###用户输入的内容无法保证合法,因此需要进行处理和判断
strip(XX) 也可去掉内容两端的XX
3.replace('old','new') 字符串替换
4.split() 切割 结果是 list split() 默认切割空白 即空格,\t,\n \t = tab #与join()相反 '_'.join(lst) 把列表中的元素拼接成字符串
5.startswith() 判断是否以XXX开头;endswith 判断是否以XX结尾
6.find() 查找
7.isdigit() 判断是否是数字组成
8.len() 求长度.内置函数,和print()一样用 ------------------------capitalize 首字母大写---------------------------
s = "alex is not a good man! Tory is a good man"
s1 = s.capitalize() #字符串首字母大写, 其他都变成小写
print(s1)
# Alex is not a good man! tory is a good man
----------------------lower 转化成小写-----------------------------------
s = "alex is not a good man! Tory is a good man"
s1 = s.lower()
print(s1)
# alex is not a good man! tory is a good man
---------------------upper 转化成大写------------------------------------
s = "alex is not a good man! Tory is a good man"
s2 = s.upper()
print(s2)
# ALEX IS NOT A GOOD MAN! TORY IS A GOOD MAN ---------------------upper 转化成大写------------------------------------
while True:
content = input('请输入你想说的话(按Q键退出):')
if content.upper() == 'Q':
break
print(content)
------------------------swapcase 大小写互换---------------------------------
s = "alex is not a good man! Tory is a good man"
s1 = s.swapcase() # 大小写互换
print(s1)
# ALEX IS NOT A GOOD MAN! tORY IS A GOOD MAN
--------------------casefold 转换成小写-------------------------------------
# casefold() 转化成小写,不常用,但是lower有些符号无法转化时可用casefold,,尤其是东欧字母
s2 = "БBß" # 俄美德
print(s2)
print(s2.lower())
print(s2.casefold()) # 都转化成小写. 支持的文字比lower多 #БBß
#бbß
#бbss
-----------------------title 把单词的首字母大写----------------------------------
s = "class app_le bana2na_ora1nge_pear alex wusir"
s1 = s.title() # 标题.把单词的首字母大写,不管中间有没有符号或数字
print(s1)
# Class App_Le Bana2Na_Ora1Nge_Pear Alex Wusir
-------------------------center 居中--------------------------------
s = "刘伟" # 2个字符共2个单位
s1 = s.center(4,"*") # 把字符串拉长成4个单位 用*扩充
print(s1)
# *刘伟*
-------------------------strip 去空白,去空格--------------------------------
s = " \t 你好啊. 我叫赛利亚 "
print(s)
s1 = s.strip() # 去掉空白
print(s1) # 你好啊. 我叫赛利亚
#你好啊. 我叫赛利亚
--------------------------模拟登陆-------------------------------
username = input('请输入用户名:').strip()
pwd = input('请输入密码:').strip()
if username == 'alex' and pwd == '123':
print('登陆成功')
else:
print('登录失败') ----strip(XX) 去掉内容两端的XX .lstrip()去掉左边的空格 .rstrip()去掉右边的空格----
s = "大红花很红的红"
print(s.strip("红")
#大红花很红的
--------------------------.expandtabs() 更改\t的长度-----------------------------
s6 = "alex wusir\teggon"
print(s6)
print(s6.expandtabs()) # 可以改变\t的长度, 默认长度更改为8
------------------------- replace 替换-----------------------------------------
s = '小红,小明,小白,小兰,小花'
s1 = s.replace('小白','阿绿')
print(s1) #小红,小明,阿绿,小兰,小花
------------------------- replace 替换,按顺序替换X个---------------------------------
#将name变量对应的值中的第一个"l"替换成"p",并输出结果
name = "aleX leNb"
print(name.replace('l','p',1))
--------------------------- split() 切割 ---------------------------------------
s = '小红,小明-阿朱-小兰,小花'
s1 = s.split('阿朱') # 刀有多宽 就要损失掉多少
print(s1) #['小红,小明-', '-小兰,小花'] 得到的是个list
-----------------------split() 切割的内容在边上-------------------------------------------
s = "周润发周星驰周笔畅周杰伦"
lst = s.split("周润发周星驰周笔畅周杰伦") # 切割的内容在边上. 会出现空字符串
print(lst) # ['', '']
------------------------------ \n 换行 --------------------------------
print("周润发\n周星驰周笔畅周杰伦") '''
周润发
周星驰周笔畅周杰伦
'''
--------------------------- format() 格式化输出------------------------------------
print("我叫%s, 我今年%d岁了, 我喜欢干%s" % ("alex", 18, "python"))
print("我叫{}, 我今年{}岁了, 我喜欢干{}".format("alex", 18, "python"))
print("我叫{0}, 我今年{1}岁了, 我喜欢干{2}".format("alex", 18, "python"))
print("我叫{name}, 我今年{age}岁了, 我喜欢干{hobby}".format(name="alex", age=18, hobby="python"))
#我叫alex, 我今年18岁了, 我喜欢干python
-----------------------startswith() 以()开始 和 endswith() 以()结束-------------------------------------------
s = "今天的内容非常简单.你们信吗? 作业也很容易. 就是整理不太好"
print(s.startswith("太好"))
print(s.endswith("太好")) #False
#True
-------------------------------count() 计数-----------------------------------
s = "胡辣汤炸鸡啤酒烤鸭酱肘锅包肉炸鸡炸鸡炸鸡"
print(s.count("炸鸡")) # 计数
# 4
------------------------------ find() 搜索------------------------------------
s = "胡辣汤炸鸡啤酒烤鸭酱肘锅包肉炸鸡炸鸡炸鸡"
print(s.find("疙瘩汤")) # 如果找不到返回-1,找到则返回位置 建议用这个 # -1
------------------------------ find() 搜索------------------------------------
s = "胡辣汤炸鸡啤酒烤鸭酱肘锅包肉炸鸡炸鸡炸鸡"
print(s.find('炸鸡',9)) #设置起始索引位置
print(s.find('炸鸡',15,20)) #切片 #14
#16
--------------------------- index() 索引---------------------------------------
s = "胡辣汤炸鸡啤酒烤鸭酱肘锅包肉炸鸡炸鸡炸鸡"
print(s.index("胡辣汤")) # 如果找不到报错. 不建议用
--------------------------- isnumeric 判断是否是数字,可识别中文及大写---------------------------------------
s = "一二壹贰叁肆萬"
print(s.isnumeric()) # True
----------------------------- len() 显示字符串长度-------------------------------------
s = "我是上帝, 你也是上帝" #,后面有一个空格
print(len(s)) # 内置函数len(字符串) 返回给你字符串的长度 # 11
判断 .isalnum() 是否由数字和字母组成 .isalpha()是否由字母组成,在python中,中文也当做字母处理 .isdigit(), .isdemical(), 是否由数字组成(不包括小数点)
.isnumeric 判断是否由数字组成,可识别中文数字 4.for循环
for 变量 in 可迭代对象: #int是不可迭代对象
循环体(break, continue)
else:
当循环结束的时候执行else,如果循环被终止,不执行else. ------------------------ while循环--------------------------------
s = "朱元璋朱棣"
count = 0
while count < len(s): # 遍历字符串的第一种办法
print(s[count])
count = count + 1 ------------------------- for 循环--------------------------------------------
s = "朱元璋朱棣朱建峰"
for c in s: # s只能是字符串,不能是数字
print(c)
Day3--Python--字符串,for循环,迭代的更多相关文章
- python -- 字符串 for循环
1.基本数据类型概况 1.int 整数 ==>主要用来做数学计算 2.str 字符串 ==> 可以保存少量数据并进行相应的操作. (字符 ...
- 3、Python字符串和循环
1.while循环 #猜lucky_number = 6 #如果比6大,提示你猜的大了 #如果比6小,提示你猜的小了 #猜的等于6,提示Bingo #限制3次 lucky_num = 6 count ...
- DAY3(PYTHON)字符串切片
字符串调整: capitalize() #首字母大写 upper() #全大写 lower() #全小写 swapcase() #大小写翻转 字符串切片: 顾头不顾尾!!! ...
- day3.python字符串格式化
字符串格式化 注意:若在格式化输出中还需要再加%,需要两个%来代替 方法1:%控制格式化输出 例1: print("I'm %s. I'm %d year old" % ('Vam ...
- python基础知识梳理----3基本数据类型,int,bool,str ,for 循环,迭代
一:python的基本类型 1.int -----整数,主要进行数学运算 2.str -----字符串,可以保存少量数据,并进行相关操作, 3. bool ---布尔类型,判断真假 4.list ...
- 3.Python自我修炼(升仙中....整数,布尔值,字符串,for循环)
python学习(整数,布尔值,字符串,for循环) 1.整数 在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.但是在python3中不存 ...
- 详解Python中的循环语句的用法
一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...
- python基础之循环结构以及列表
python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...
- Python 字符串方法详解
Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息. ...
- 第五篇:python基础之循环结构以及列表
python基础之循环结构以及列表 python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...
随机推荐
- ps -aux返回超时的可能原因
在我的环境上出现了 ps -aux返回超时的问题. 执行到 ……root 19342 0.0 0.0 0 0 ? S< Mar12 0:00 [kworker/34:1H] 这里,然后就卡住了. ...
- logging 实例
import logging from logging.handlers import RotatingFileHandler import os FILE_DIR = os.path.join(os ...
- centos无网络问题
- java split(regex,limit) 使用记录
1.split(“,”,0):是切割默认模式等同于split(",")结尾符合分割字符为空不进行进行分割,如图: 2.split(",",-1):limit参数 ...
- 洛谷 P1102 A−B数对
题目描述 出题是一件痛苦的事情! 题目看多了也有审美疲劳,于是我舍弃了大家所熟悉的 A+BA+BA+B ProblemProblemProblem ,改用 A−BA-BA−B 了哈哈! 好吧,题目是这 ...
- Civil 3D 二次开发 翻转曲面高程分析颜色
不解释,直接上代码及截图. [CommandMethod("RvsSEA")] public void ReverseSurfaceElevationAnalysis() { Ci ...
- .net core 2.0 Autofac
参考自 https://github.com/VictorTzeng/Zxw.Framework.NetCore 安装Autofac,在`project.csproj`加入 <PackageRe ...
- HTML知识点总结[部分]
Web服务的本质(socket实例) import socket def handle_request(client): buf = client.recv(1024) client.send(byt ...
- Vmware 控制脚本
#_*_ coding:utf8 _*_ import sys,time import yaml import re import os import ssl import random import ...
- C# int数组转string字符串
方式一:通过循环数组拼接的方式: int[] types = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 }; string result = string.Empty ...