常见的基本数据类型:
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循环,迭代的更多相关文章

  1. python -- 字符串 for循环

    1.基本数据类型概况        1.int  整数  ==>主要用来做数学计算      2.str  字符串  ==> 可以保存少量数据并进行相应的操作.           (字符 ...

  2. 3、Python字符串和循环

    1.while循环 #猜lucky_number = 6 #如果比6大,提示你猜的大了 #如果比6小,提示你猜的小了 #猜的等于6,提示Bingo #限制3次 lucky_num = 6 count ...

  3. DAY3(PYTHON)字符串切片

    字符串调整: capitalize()   #首字母大写 upper()        #全大写 lower()      #全小写 swapcase() #大小写翻转 字符串切片: 顾头不顾尾!!! ...

  4. day3.python字符串格式化

    字符串格式化 注意:若在格式化输出中还需要再加%,需要两个%来代替 方法1:%控制格式化输出 例1: print("I'm %s. I'm %d year old" % ('Vam ...

  5. python基础知识梳理----3基本数据类型,int,bool,str ,for 循环,迭代

    一:python的基本类型 1.int  -----整数,主要进行数学运算 2.str  -----字符串,可以保存少量数据,并进行相关操作, 3. bool ---布尔类型,判断真假 4.list ...

  6. 3.Python自我修炼(升仙中....整数,布尔值,字符串,for循环)

    python学习(整数,布尔值,字符串,for循环) 1.整数 ​ 在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.但是在python3中不存 ...

  7. 详解Python中的循环语句的用法

    一.简介 Python的条件和循环语句,决定了程序的控制流程,体现结构的多样性.须重要理解,if.while.for以及与它们相搭配的 else. elif.break.continue和pass语句 ...

  8. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  9. Python 字符串方法详解

    Python 字符串方法详解 本文最初发表于赖勇浩(恋花蝶)的博客(http://blog.csdn.net/lanphaday),如蒙转载,敬请保留全文完整,切勿去除本声明和作者信息.        ...

  10. 第五篇:python基础之循环结构以及列表

    python基础之循环结构以及列表   python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.pyth ...

随机推荐

  1. Windows Server 2012 添加角色时出现 failed to open runspace pool

    先把所有的Windows Server 2012的更新更新了.再来添加服务器角色.就不会再出现 The Server Manager WinRM plug-in might be corrupted ...

  2. Nintex History in Form Table

    一.设置参数 二.调用WebService 三.For Each 调用 四.拼写HTML Table 结果: 特别提示:过滤人只要根据人来循环即可

  3. Codeforces 798D Mike and distribution

    题目链接 题目大意 给定两个序列a,b,要求找到不多于个下标,使得对于a,b这些下标所对应数的2倍大于所有数之和. N<=100000,所有输入大于0,保证有解. 因为明确的暗示,所以一定找个. ...

  4. Jquery实现菜单栏

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8& ...

  5. BZOJ3790神奇项链——manacher+贪心

    题目描述 母亲节就要到了,小 H 准备送给她一个特殊的项链.这个项链可以看作一个用小写字 母组成的字符串,每个小写字母表示一种颜色.为了制作这个项链,小 H 购买了两个机器.第一个机器可以生成所有形式 ...

  6. SQLSERVER 维护计划无法删除

    数据对网站运营或者企业运营是至关重要的,所以,我们在使用数据库的时候,为了保证数据的安全可靠性,都会做数据库备份,很显然,这个备份,我们不可能每天都去手动备份,SQLServer 数据库就可以提供数据 ...

  7. 【XSY2680】玩具谜题 NTT 牛顿迭代

    题目描述 小南一共有\(n\)种不同的玩具小人,每种玩具小人的数量都可以被认为是无限大.每种玩具小人都有特定的血量,第\(i\)种玩具小人的血量就是整数\(i\).此外,每种玩具小人还有自己的攻击力, ...

  8. Velocity 快捷键

    快捷键(2018-03-08) General Keyboard Shortcuts The following shortcuts are available anywhere within the ...

  9. php获取用户真实IP和防刷机制

      一. 如何获取用户IP地址 public static function getClientIp() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv( ...

  10. 【BZOJ4008】[HNOI2015]亚瑟王(动态规划)

    [BZOJ4008][HNOI2015]亚瑟王(动态规划) 题面 BZOJ 洛谷 题解 设\(f[i][j]\)表示前\(i\)张卡中有\(j\)张被触发的概率. 分两种情况转移,即当前这张是否被触发 ...