1、数字类型 int

数字主要是用于计算用的,使用方法并不是很多,就记住一种就可以:

bit_length()  当前十进制用二进制表示时,最少使用的位数

s = 5
print(s.bit_length()) # 结果为 3 (101)
s = 9
print(s.bit_length()) #结果为 4 (1001)

1.2 二进制与十进制之间相互转换

  pass

2、布尔值 bool

布尔值就两种:True,False。就是反应条件的正确与否

真   1   True

假   0   False

str ---->  bool    非空即True  (空格不代表空,空格也是一个字符)

print(bool(''))             # False
print(bool(' ')) # True
print(bool('1@3ert')) # True

3、字符串 str (*****)

  3.1 字符串的索引与切片

  字符串的切片索引以及常用操作方法 都是形成新的字符串,与原字符串没有关系。

  索引即下标,就是字符串组成的元素从第一个开始,初始索引为0,以此类推

a = 'ABCDefgHij'
print(a[0]) # A
print(a[3]) # D
print(a[-3])               # H

3.2 字符串切片

a = 'ABCDefgHij'
print(a[0:3])
print(a[3:5])
print(a[0:]) # 默认到最后
print(a[:5]) #默认从0开始
print(a[0:-1]) # -1 是列表中最后一个元素的索引,但是要满足顾头不顾腚的原则,所以取不到j元素
print(a[0:6:2]) #加步长
print(a[4:1:-1]) # 反向步长
s = 'ABCDEfghijk'
print(s[:5:-1]) #反向步长,要从末尾开始,到第五个字符结束,输出结果kjihg

3.3 字符串的常用操作方法  (按 ❤ 等级排列)

  (都是形成新的字符串,与原字符串没有关系。)

❤  (一星,了解)

1、 center() 将字符串居中可以设置总长度,可以设置填充物 * ,填充物仅支持一个字符

s = 'Echomaster'
s1 = s.center(40, '+')
print(s1) # +++++++++++++++Echomaster+++++++++++++++

2、swapcase  大小写翻转

s = 'abDRdKu12$%^Nll'
print(s.swapcase()) # ABdrDkU12$%^nLL

3、 title  非字母隔开的每个单词的首字母大写

s = 'alex echo General'
print(s.title()) # Alex Echo General

4、join

 (list(必须全部都是字符串组成的列表) ---> str 只是其中一种用途 )

s = ['echo', 'alex', 'iris']
s1 = ' '.join(s)
print(s1) # echo alex iris

===========================================================================================

❤❤ (二星,记住)

1、capitalize()   首字母大写

s = 'ECHO ALex\nmen'
print(s.capitalize()) #Echo alex men 仅第一个字母大写,其他全部换成小写,加换行符后的字母不会大写
s = '12echoALex'
print(s.capitalize()) # 12echoalex 如果是数字开头,没什么变化
s = '$efAL'
print(s.capitalize()) # $efal 特殊字符开头也没有变化
s = 'echo alex age17'
print(s.capitalize()) # 不支持切片

2、find    index

   find : 通过元素找索引,找到第一个就返回(可切片),找不到返回-1

   index 通过元素找索引,找到第一个就返回(可切片),找不到报错

s = 'echo is a great man'
print(s.find('a', 9)) # 支持切片,9代表索引[9] 开始找
print(s.index('x')) # 找不到则报错

3、is系列

name = 'taibai123'
print(name.isalnum()) #字符串由字母或数字组成
print(name.isalpha()) #字符串只由字母组成
print(name.isdigit()) # 字符串只由数字组成

============================================================================================

❤❤❤  (即使忘记银行卡密码,也要记住这些)

1、 upper()    lower ()    全部大写,全部小写,一般用在验证码

s = 'echo IS a GOod Men'
print(s.upper()) # ECHO IS A GOOD MEN
print(s.lower().capitalize()) # Echo is a good men

upper() / lower()  用在验证码的例子

username = input('请输入用户名:  ').strip()       #  strip 消除用户误操作输入的空格
password = input('请输入密码: ').strip() # strip 消除用户误操作输入的空格
if username == 'echo' and password == '123':
code = input('请输入验证码: ').lower() # lower()/upper() 验证码不区分大小写
if code == 'AsDfg'.lower(): # lower()/upper() 验证码不区分大小写
print('登录成功')
else:
print('验证码错误')
else:
print('账号或密码错误')

2、startswith  endswith   看出字符串是否已 XX开头 或结尾

s = 'echo is a good men'
print(s.startswith('is')) # False
print(s.endswith('en')) # True
print(s.startswith('is', 5, 7)) #支持切片 True
print(s.endswith('e', -3, -1)) # True

3、strip默认清楚字符串前后两端的空格,换行符,制表符 (‘  ’,‘ \n ’, ' \t ')

s = '  \n \t echo \t \t \n  *   \n '
print(s.strip()) # 只能删除前后空格,换行,制表符

s = '  \n \t echo \t \t \n  *   \n '
print(s.strip('*')) # 如果自定义,则只能删除自定义的字符,不能删除空格,换行,制表符

lstrip   rstrip

s = '**echo****'
print(s.lstrip('*')) # echo****
print(s.rstrip('*')) # **echo

应用举例:在输入账号密码界面,去除用户误操作输入的空格

while 1:
username = input('请输入姓名: ').strip() # strip 去除空格,制表符 ,换行符
password = input('请输入密码: ').strip() # strip 去除空格,制表符 ,换行符
if username == 'echo' and password == '':
print('登录成功')
break
else:
print('输入账号错误,请重新输入!')

特殊用法:

ss = 'qrechoqwrendqqwewwr'
s8 = ss.strip('qwre') #去除字符串两边所有的qwre 结果 :choqwrend
print(s8)

4、split 用法

   默认以空格分割字符串,可以自定义, 分割必成列表

   分割出的元素要比分隔符数+1

s = 'wus ir alex taibai'
print(s.split()) # ['wus', 'ir', 'alex', 'taibai']
print(s.split(' ', 2)) # 以空格为分割,2表示最大分割两次 ['wus', 'ir', 'alex taibai']
s = '#wus#ir#alex#taibai#'
print(s.split('#')) # 自定义分隔符 ['', 'wus', 'ir', 'alex', 'taibai', '']

5、replace 用法:  

  用新字符串替换原字符串,,

replace('old', 'new', count)  count代表 从左往右要替换掉的个数
s = 'Alex是老男孩的创始人之一,Alex也是一个Alex'
s1 = s.replace('Alex', 'echo', 2) # echo是老男孩的创始人之一,echo也是一个Alex
print(s1)

6、格式化输出: format

format 格式化输出  
第一种方式:
s = '我叫{}, 今年{}, 性别{}'.format('小虎', 25, '女')
print(s)
第二种方式
s = '我叫{0}, 今年{1}, 性别{2},我依然叫{0}'.format('小虎', 25, '女')
print(s)
第三种方式
s = '我叫{name}, 今年{age}, 性别{sex},我依然叫{name}'.format(age=25, sex='女',name='小虎',)
print(s)

 格式化输出个人名片:

name = input('请输入姓名: ')
age = input('请输入年龄: ')
sex = input('请输入性别: ')
address = input('请输入家庭住址: ')
msg = '''
-------------info for {name}---------
name: {name}
age : {age}
sex : {sex}
address: {address}
----------------end------------------
'''.format(sex=sex, name=name, age=age, address=address)
print(msg)

另一种方法,   (fomart括号里面,可以直接引用input输入的变量)

name = input('请输入姓名: ')
age = input('请输入年龄: ')
sex = input('请输入性别: ')
address = input('请输入家庭住址: ')
msg = '''
-------------info for {}---------
name: {}
age : {}
sex : {}
address: {}
----------------end------------------
'''.format(name, name, age, sex, address)
print(msg)

7、count    计算字符串中某个字符出现的次数  

s = 'asefdasefdsaefea4grehg4r'
print(s.count('a'))
print(s.count('a', 1,6)) # 支持切片

8、len() 公共方法(内置函数)

s = 'asefdsaefeae'
print(len(s)) #12

9、

for 循环:

结构:
for 变量 in iterable:
s = '深圳骑士'
for i in s:
print(i)



day 03的更多相关文章

  1. Android游戏开发实践(1)之NDK与JNI开发03

    Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...

  2. Java多线程系列--“JUC锁”03之 公平锁(一)

    概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40)一. tryAcqu ...

  3. iOS系列 基础篇 03 探究应用生命周期

    iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...

  4. javaSE基础03

    javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...

  5. UML大战需求分析——阅读笔记03

    读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...

  6. 2016-1-28 图解HTTP(03)

    6.2.5 非HTTP/1.1首部字段        不限于RFC2616中定义的47种首部字段,还有Cookie.Set-Cookie和Content-Disposition等在其他RFC中首部字段 ...

  7. ReactNative新手学习之路03真机调试

    React Native新手入门03真机调试(iOS) 从设备访问开发服务器 在启用开发服务器的情况下,你可以快速的迭代修改应用,然后在设备上查看结果.这样做的前提是你的电脑和设备必须在同一个wifi ...

  8. 【三石jQuery视频教程】03.创建垂直时间表(Timeline)

    视频地址:http://v.qq.com/page/g/i/o/g0150rvi6io.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...

  9. javascript基础03

    javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...

  10. service 03 iis之服务器无访问权限

    这两天在Service 03 的iis 6.0 里面配置一个aspx 的网站 ,总是遇到一个问题  401.2   无权限访问,于是去百度了一下好多的方法,基本上是关于设置匿名用户,打开IUSER用户 ...

随机推荐

  1. 微信、陌陌等著名IM软件设计架构详解(转)

    对微信.陌陌等进行了分析,发出来分享一下(时间有些久了) 电量:对于移动设备最大的瓶颈就是电量了.因为用户不可能随时携带电源,充电宝.所以必须考虑到电量问题.那就要检查我们工程是不是有后台运行,心跳包 ...

  2. 尚硅谷springboot学习11-占位符

    1.随机数 2.占位符获取之前配置的值,如果没有可以使用:指定默认值

  3. Delphi 中的颜色常量及效果图

    颜色名称   颜色效果   Hex HTML clBlack   $000000 #000000 clMaroon   $000080 #800000 clGreen   $008000 #00800 ...

  4. servlet路径获取

    本文章主要讨论以下几种request获取路径的方法: request.getServletPath() request.getPathInfo() request.getContextPath() r ...

  5. 13.Java国际化.md

    一.国际化开发概述 软件的国际化:软件开发时,要使它能同时应对世界不同地区和国家的访问,并针对不同地区和国家的访问,提供相应的.符合来访者阅读习惯的页面或数据. 国际化(internationaliz ...

  6. C# 如何获取鼠标在屏幕上的位置,不论程序是否为活动状态

    一开始我认为应该使用HOOK来写,而且必须使用全局HOOK,结果在一次偶然的机会得到,原来其实根本没有那个必要. 直接上代码吧,一看就明白 Point ms = Control.MousePositi ...

  7. MVC模式浅谈

    MVC模式浅谈 一.MVC模式概述 模型-视图-控制器(MVC模式)是一种非常经典的软件架构模式,在UI框架和UI设计思路中扮演着非常重要的角色.从设计模式的角度来看,MVC模式是 一种复合模式,它将 ...

  8. js高级-原型链

    JavaScript是基于原型的面向对象的语言(相当于一个基类,父类),而不是像Java通过类模板构造实例,通过原型实现属性函数的复用 函数都有 prototype属性 指向函数的原型对象 只有函数根 ...

  9. CommonJS/AMD/CMD/UMD

    为什么会有这几种模式? 起源:Javascript模块化 模块化就是把复杂问题分解成不同模块,这样可维护性高,从而达到高复用,低耦合. 1.Commonjs CommonJS是服务器端模块的规范,No ...

  10. Jetty 与 Tomcat 的比较

    Tomcat 和 Jetty 都是作为一个 Servlet 引擎应用的比较广泛,可以将它们比作为中国与美国的关系,虽然 Jetty 正常成长为一个优秀的 Servlet 引擎,但是目前的 Tomcat ...