day 03
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的更多相关文章
- Android游戏开发实践(1)之NDK与JNI开发03
Android游戏开发实践(1)之NDK与JNI开发03 前面已经分享了两篇有关Android平台NDK与JNI开发相关的内容.以下列举前面两篇的链接地址,感兴趣的可以再回顾下.那么,这篇继续这个小专 ...
- Java多线程系列--“JUC锁”03之 公平锁(一)
概要 本章对“公平锁”的获取锁机制进行介绍(本文的公平锁指的是互斥锁的公平锁),内容包括:基本概念ReentrantLock数据结构参考代码获取公平锁(基于JDK1.7.0_40)一. tryAcqu ...
- iOS系列 基础篇 03 探究应用生命周期
iOS系列 基础篇 03 探究应用生命周期 目录: 1. 非运行状态 - 应用启动场景 2. 点击Home键 - 应用退出场景 3. 挂起重新运行场景 4. 内存清除 - 应用终止场景 5. 结尾 本 ...
- javaSE基础03
javaSE基础03 生活中常见的进制:十进制(0-9).星期(七进制(0-6)).时间(十二进制(0-11)).二十四进制(0-23) 进制之间的转换: 十进制转为二进制: 将十进制除以2,直到商为 ...
- UML大战需求分析——阅读笔记03
读<UML大战需求分析>有感03 状态机图和活动图在样子比较相似,但状态机图是用来为对象的状态及造成状态改变的事件建模.我们大二学习UML统一建模语言状态机图模块时了解到,UML的状态机图 ...
- 2016-1-28 图解HTTP(03)
6.2.5 非HTTP/1.1首部字段 不限于RFC2616中定义的47种首部字段,还有Cookie.Set-Cookie和Content-Disposition等在其他RFC中首部字段 ...
- ReactNative新手学习之路03真机调试
React Native新手入门03真机调试(iOS) 从设备访问开发服务器 在启用开发服务器的情况下,你可以快速的迭代修改应用,然后在设备上查看结果.这样做的前提是你的电脑和设备必须在同一个wifi ...
- 【三石jQuery视频教程】03.创建垂直时间表(Timeline)
视频地址:http://v.qq.com/page/g/i/o/g0150rvi6io.html 大家好,欢迎来到[三石jQuery视频教程],我是您的老朋友 - 三生石上. 今天,我们要通过基本的H ...
- javascript基础03
javascript基础03 1. 算术运算符 后增量/后减量运算符 ++ ,-- 比较运算符 ( >, <, >=, <=, ==, !=,===,!== ) 逻辑运算符( ...
- service 03 iis之服务器无访问权限
这两天在Service 03 的iis 6.0 里面配置一个aspx 的网站 ,总是遇到一个问题 401.2 无权限访问,于是去百度了一下好多的方法,基本上是关于设置匿名用户,打开IUSER用户 ...
随机推荐
- CSS COLOR
CSS COLOR Color Review We've completed our extensive tour of the colors in CSS! Let's review the key ...
- while read line
# grep "请求报文:" application-20170822-*.log >> applog # cat applog|cut -d ":" ...
- ORA-00600: internal error code, arguments: [4193]问题解决
操作环境 SuSE+Oracle11gR2 问题现象 单板宕机自动重启后,ORACLE运行不正常,主要表现如下: 1.执行shutdown immedate停止数据库时,提示ORA-00600: in ...
- GDI+ 实现透明水印和文字
最近给<JPEG浏览缩放器>增加了水印功能,在设计的过程中,参考了网上的文章,但是发现文章使用的GDI+ API封装包不是我现在使用的那一套,目前DELPHI使用的GDI+ API封装包有 ...
- is not writable or has an invalid setter method错误的解决
java中在配置spring时,遇到is not writable or has an invalid setter method的错误一般是命名方式的问题 需要写成private userInfoD ...
- Python自动化运维开发实战 一、初识Python
导语 都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊.批量执行某个操作啊.写写监控脚本什么的. ...
- SPSS-判别分析
判别分析 判别分析是一种有效的对个案进行分类分析的方法.和聚类分析不同的是,判别分析时组别的特征已知. 定义:判别分析先根据已知类别的事物的性质,利用某种技术建立函数式,然后对未知类别的新事物进 行判 ...
- linux下网络配置
配置相关 http://bbs.acehat.com/thread-813-1-1.html
- Eclipse git 冲突合并
Eclipse有一个git的插件叫EGit,用于实现本地代码和远程代码对比.合并以及提交.但是在本地代码和远程代码有冲突的时候,EGit的处理方案还是有点复杂.今天就彻底把这些步骤给理清楚,并公开让一 ...
- 无线LoRa远传智能水表
无线远传智能水表是一款基于瑞萨芯片的水表,该水表具有电子计数.无线远传功能.欠费关阀等功能,无线水表具有的功能如下:无线通信采用SX1278的LoRa进行点对点通信,SX1278模块在通信中启用CAD ...