python学习(整数,布尔值,字符串,for循环)

1.整数

​ 在python3中所有的整数都是int类型. 但在python2中如果数据量比较大. 会使用long类型.但是在python3中不存在long类型.

​ 整数可进行的操作 :

​ bit_length(). 计算整数在内存中占用的二进制码的长度.

2.再谈布尔值

​ 取值只有True,False(bool值没有操作)

转换问题:

  • str => int int(str)
  • int => str str(int)
  • int => bool bool(int). 0是False 非0是True
  • bool=>int int(bool) True是1, False是0
  • str => bool bool(str) 空字符串是False,不空是True
  • bool => str str(bool) 把bool值转换成相应的"值"

3.字符串

​ 字符串用于存储数据,但存储数据量比较少,在python中用 ' (单引号) "(双引号) '''(单引号三三引) """(双引号三引)引起来的内容被称为字符串.

字符串与索引的关系及其操作如下 :

  1. 索引(下标)

    索引就是下标,下标从0开始,取值时索引所选长度不可以超过其本身.

    s1 = "python学习"
    print(s1[0]) # 获取第0个索引所对应的的元素.
    print(s1[1]) # 同上
    print(s1[2]) # 同上
    print(s1[3]) # 同上
    print(s1[4]) # 同上
    print(s1[5]) # 同上
    print(s1[6]) # 同上
    print(s1[7]) # 同上
    print(s1[8]) # 同上
    print(s1[9]) # 没有9,越界了会报错,索引长度不可以超过本身
    print(s1[-1]) # -1表示倒数第一个
    print(s1[-2]) # 倒数第二个
  2. 切片

    语法 : str[start:end]

    规则 : 顾头不顾腚,从start开始截取,截取到end位置,但不包括end,切片长度可以超出范围.

    用法 : 我们可以使用下标来截取部分字符串的内容

    s2 = "python好学习"
    print(s2[0:3]) # 从0获取到3,不包含3,结果:pyt
    print(s2[6:8]) # 结果:好学
    print(s2[6:9]) # 最答是8,但根据顾头不顾腚,想要取到8必须给9
    print(s2[6:10]) # 如果右边已经过了最答值,相当于获取到最后,切片长度可以超出范围,索引长度不可以.
    print(s2[4:]) # 如果想获取到最后,那么:后可以不放值.
    print(s2[-1:-5]) # 从-1获取到-5这样是获取不到任何结果的,从-1向右数,取值方向向右,数不到-5.
    print(s2[-5:-1]) # 取到学习这个数据了,但是,顾头不顾尾,取不到最后一个.
    print(s2[-5:]) # 什么都不写就是取值到最后
    print(s2[:-1]) # 这个是取到倒数第一个值,但不包含倒数第一的这个值
    print(s2[:]) # 取全部
  3. 步长

    切片语法 : str[start​ : end : step]

    • start : 起始位置
    • end : 结束位置
    • step : 步长

    步长用法 : 如果是整数,则从左往右取,如果是负数,则从右往左取,step默认是1取值方向从左往右.

    s2 = "python好学习"
    print(s2[1:5:2]) # 从索引为1的位置开始取,取到索引为4的位置,每2个取1个,结果:yh
    print(s2[:5:2]) # 从索引为0的位置开始到索引为4的位置,每两个取一个
    print(s2[4::2]) # 从索引为4的位置开始取到最后,每两个取一个
    print(s2[-5::2]) # 从索引为-5的位置取到最后.每两个取一个
    print(s2[-1:-5]) # 从索引为-1的位置取到索引为-4的位置,但是什么都没有,因为取的方向是从左往右
    print(s2[-1:-5:-1]) # 从索引为-1的位置取到索引为-4的位置,步长是-1,取的方向这时就从右往左.
    print(s2[-5::-3]) # 从索引为-5的位置开始取到最开始,每三个取一个,结果:oy
  4. 字符串常用方法

    注意 : 切记,字符串是不可变的对象,所以任何操作对原字符串是不会有任何影响.

    1. 大小写互相转换,常应用于校验用户输入的验证码是否合法

      # 首字母大写
      s1.capitalize()
      print(s1) # 输出发现并没有任何的变化,因为这里的字符串本身是不会发生改变的,需要我们重新赋值后用.
      ret1 = s1.capitalize()
      print(ret1)
      ---------------------------------
      # 全部转换成小写
      ret = s1.lower()
      print(ret)
      ---------------------------------
      # 全部转换成大写
      ret = s1.upper()
      print(ret)
      ---------------------------------
      # 大小写互相转换
      ret = s1.swapcase()
      print(ret)
      ---------------------------------
      ret = s1.casefold() # 用于转换成小写,此方法不常用,和lower的区别:lower()对某些字符支持不够好.
      casefold()对所有字母都有效,比如东欧的一些字母
      print(ret) s2 = "БBß" # 俄美德
      print(s2)
      print(s2.lower()) # 打印结果比对可以看到lower无法对德语转化
      print(s2.casefold())
      ---------------------------------
      # 每个被特殊字符隔开的字母首字母大写
      s = "eggon,taibai*yinwang"
      ret = s.title()
      print(ret)# 打印结果 Eggon,Taibai*Yinwang
      s = "你好chen你好shuo我是" # 你好Chen你好Shuo我是 中问也算是特殊字符
      print(s4.title())
    2. 字符串的切割

      # 居中
      s = "周杰伦"
      ret = s.center(10, "*") # 拉长成10,把原字符串放中间,其余位置补*
      print(ret)
      ---------------------------------
      # 更改tab的长度
      s = "alir\teon"
      print(s)
      print(s.expandtabs()) # 可以改变\t的长度, 默认长度更改为8
      ---------------------------------
      # 去空格,常用于当用户登录时,忽略用户输入的空格
      s = " chen shuo nihao "
      ret = s.strip() # 去掉左右两端的空格
      print(ret)
      ret = s.lstrip() # 去掉左边空格
      print(ret)
      ret = s.rstrip() # 去掉右边空格
      print(ret)
      ---------------------------------
      # 字符串替换
      s = "chen_shuo_nihao"
      ret = s.replace('chen', 'hehe') # 把chen替换成hehe
      print(s) # 注意,字符串是不可变对象. 所有操作用返回值
      print(ret) # hehe_shuo_nihao
      ret = s.replace('n', 'yy', 2) # 把c替换成yy, 替换2个
      print(ret) # 打印结果 cheyy_shuo_yyihao
      ---------------------------------
      # 字符串切割
      s = "chen,shuo,ni,hao"
      lst = s.split(",") # 字符串切割,根据","进行切割
      print(lst) # 打印结果是列表形式 ["chen","shuo","ni","hao"]
      #如果切割符在左右两端,那么一定会出现空字符串,深坑请留意.
    3. 字符串的查找

      s = "我叫sylar,我喜欢python,java,c等编程语言."
      ret1 = s.startswith("sylar") # 判断是否以sylar开头
      print(ret1)
      ret2 = s.startswith("我叫sylar") # 判断是否以我叫sylar开头
      print(ret2)
      ---------------------------------
      ret3 = s.endswith("语言") # 是否以'语言'结尾
      print(ret3)
      ret4 = s.endswith("语言.") # 是否以'语言.'结尾
      print(ret4)
      ---------------------------------
      ret7 = s.count("a") # 查找"a"出现的次数
      print(ret7)
      ---------------------------------
      ret5 = s.find("sylar") # 查找'sylar'出现的位置
      print(ret5)
      ret6 = s.find("tory") # 查找'tory'的位置,如果没有返回-1
      print(ret6)
      ret7 = s.find("a", 8, 22) # 切片找
      print(ret7)
      ---------------------------------
      ret8 = s.index("sylar") # 求索引位置,注意,如果找不到索引,程序会报错
      print(ret8)
    4. is 系列

      ret=1234
      ret.isdecimal # 判断是不是十进制
      ret.isalnum # 判断是不是中文,字母,数字
      ret.isalpha # 判断是不是中文,字母
      ret.isdigit # 判断是否由纯数字组成
    5. 计算字符串的长度

      s = "你好我是***"
      ret = len(s) # 计算字符串的长度度
      print(ret) # 打印结果为7
      # len()是python的内置函数

4.for循环

  • for循环用法 : 我们可以使用for循环来便利(获取)字符串中的每一个字符.

  • for语法:

    for 变量 in 可迭代对象:

    pass

    可迭代对象: 可以一个一个往外取值的对象

  • in的用法:

    • 在for中. 是把每一个元素获取到赋值给前面的变量.

    • 不在for中. 判断xxx是否出现在str中.

      # for循环, 把s中的每一个字符拿出来赋值给前面的c
      s="大家好,我是python学习者"
      for c in s:
      print(c) # 注意缩进字符
      print(c) # 此时打印结果为for循环最后一次c的取值 # in在python中的用法
      print('pyt' in s) # 此时打印出的结果是Ture

5.range范围

语法 : range(start,end,step)

  • start : 起始位置
  • end : 结束位置
  • step : 步长

注意 : 顾头不顾尾,当range(10)为此形式时,起始位置默认从0开始到9结束,打印10次

3.Python自我修炼(升仙中....整数,布尔值,字符串,for循环)的更多相关文章

  1. 整数 布尔值 字符串 for循环

    整型和布尔值的转换 整型---数字(int) 用于比较和运算 32位范围 -2** 31到2 **32-1 64位范围-2** 63到2** 63-1 十进制转二进制计算方法: 15的二进制为 15% ...

  2. 整型 布尔值 字符串 for循环

    1.整型 2.布尔值 3.字符串 4.for循环 1.整型:.python中有长整型, Python3中只有整型 2.布尔值: bool:Ture 真       False 假 数字和布尔值可进行转 ...

  3. python基础语法_python中的布尔类型详解

    转自:http://www.cnblogs.com/521yywzyzhc/p/6264885.html   我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是 ...

  4. 4、python中的布尔值和None

    一.布尔值 1.布尔值只有两个:True.Flase,表示python语句的真与假: 2.在python早期的版本,布尔值用1和0表示. 二.None 1.None表示虚无,什么也没有: 2.千万不要 ...

  5. jQuery.extend()中的布尔值的作用

    jQuery.extend()中,第一个参数可以添加一个布尔值,表示是否深层拷贝,默认是false.但如果设置为true,则表示深层拷贝. 下面来看看什么是深层拷贝: <script type= ...

  6. python 整型,布尔值,字符串相关

    1.整型(int) 就是所有整数, 2.布尔值(bool) True False 0,"",[],{},(),none为False 3.字符串(str) 字符: 是单一文字符号 字 ...

  7. python七类之整型布尔值

    整型与布尔值 一.关键字:整型 --->int     布尔值----->bool  : True  真  False  假 1.整形和布尔值都是不可变得不可迭代的数据类型 2.整型: 主 ...

  8. 整型,布尔值,字符串详解,for语句

    整型 -- 数字 用于比较和计算 + - * / // python 2 int --- long (长整型) /获取的是整数 Python3 int---整型 / 获取的浮点数 二进制 --- 就是 ...

  9. [日常] Go语言圣经--复数,布尔值,字符串习题

    go语言圣经-复数 1.我们把形如a+bi(a,b均为实数)的数称为复数,其中a称为实部,b称为虚部,i称为虚数单位.两种精度的复数类型:complex64和complex128,分别对应float3 ...

随机推荐

  1. java之折半查找

    //功能:二分查找import java.util.*; public class Demo1 { public static void main(String[] args) { int arr[] ...

  2. Ubuntu 12.04安装grub2过程中出错怎么办【转】

    本文转载自:https://zhidao.baidu.com/question/491448169666671012.html 其实是可以不用优盘启动的.但使用优盘没有风险.你的系统虽然出现==不能安 ...

  3. jquery特效(4)—轮播图②(定时自动轮播)

    周末出去逛完街,就回公司好好地研究代码了,也算是把定时自动轮播程序写出来了,特意说明一下,这次的轮播图是在昨天随笔中jquery特效(3)—轮播图①(手动点击轮播)的基础上写出来的,也就是本次随笔展示 ...

  4. Codeforces Round #258 (Div. 2) D. Count Good Substrings —— 组合数学

    题目链接:http://codeforces.com/problemset/problem/451/D D. Count Good Substrings time limit per test 2 s ...

  5. 基于BASYS2的VHDL程序与烧写——按键消抖程序

    请尊重作者版权,转载请注明源地址http://www.cnblogs.com/connorzx/p/3548364.html 按键在按下的过程中通常会产生一段时间的抖动,为了消除这种抖动,一般采取两种 ...

  6. FFmpeg音视频编解码实践总结

    PS:由于目前开发RTSP服务器传输模块时用到了h264文件,所以攻了一段时间去实现h264的视频编解码,借用FFmpeg SDK实现了任意文件格式之间的转换,并实现了流媒体实时播放,目前音视频同步需 ...

  7. python并发编程之多线程理论部分

    阅读目录 一 什么是线程 二 线程的创建开销小 三 线程与进程的区别 四 为何要用多线程 五 多线程的应用举例 六 经典的线程模型(了解) 七 POSIX线程(了解) 八 在用户空间实现的线程(了解) ...

  8. reactjs的一些笔记

    1.使用虚拟DOM作为其不同的实现.同时可以由服务器node.js渲染,从而不需要过重的浏览器DOM支持.   2.虚拟DOM:在浏览器端用javascript实现了一套DOM API.用react开 ...

  9. Apktool 和 Jeb 给出的不同的smali语法

    今天发现用Apktool和Jeb反编译出来的smali在语法上有一定区别,比如一个Java函数: private void packageNameCheck() { com.example.testf ...

  10. FTP:文件传输协议(指令及响应代码)

    文件传输协议(FTP)使得主机间可以共享文件. FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输.控制连接使用类似 TELNET 协议在主机间交换命令 ...