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用户 ...
随机推荐
- Xcode 新建bundle id不同的且app图标也不同的新的target的步骤
方法一: duplicate一个target 修改target配置文件中的bundle id,app icon图标文件位置(必要时重命名app icon文件名),plist文件位置,entitleme ...
- 建立一个php 基础类
在些PHP文件的时候,一般首先都是要先写一下基础类: 主要包括以下几个方面: 1.服务器的链接:包括主机,用户名,密码 2.数据库的选择:要操作哪个数据库 3.字符集的设置:设置什么样的编码 4.查询 ...
- ACM__01背包,完全背包,多重背包
今天写题的时候碰到了一道完全背包题,可是没有看出来,乱写了一通,浪费了一个晚上,顺便复习一下背包的知识 01背包 每种物品只能选择一次或者不选,求背包容量内的最大价值 先给出状态转移方程: f[i][ ...
- 转: JS实现页面打印
转载原文: http://shengren-wang.iteye.com/blog/1161367 1.js实现(可实现局部打印) <!--打印的实现1:start--> <inpu ...
- avalon2学习教程 03数据填充
数据填充是一个模版最基础的功能,直接从JSON(vm)取出数据,放到适当的位置上.在静态模板中,不区分文本与HTML,只看你的字符串是否有< >来决定生成文本节点与元素节点.但MVVM中, ...
- python 问答
1.list和tuple有什么区别? list是可变的,可以添加list.append,可以插入list.insert,可以改变元素值list[2] ='a':而tuple在初始化的时候就确定了,不能 ...
- 23.网络.md
目录 1.基本概念 2.常用函数 3.端口 4.协议 4.1.2代码步骤 4.1.3UDPDemo 4.1.4通信格式 4.1.5 群发Demo: 4.1.6丢失数据的情况 4.2TCP 4.2.1三 ...
- CSS强制换行和禁止换行代码
一.强制换行 1.word-break: break-all; 只对英文起作用,以字母作为换行依据. 2.word-wrap: break-word; 只对英文起作 ...
- 通过日志恢复SQL Server的历史数据
通过日志恢复SQL Server的历史数据 Posted on 2008-11-14 21:47 代码乱了 阅读(4658) 评论(10) 编辑 收藏 园子里前段时间发过一篇通过日志恢复MSSQL数 ...
- Android计时器和倒计时
Android计时器和倒计时 计时器两个核心类 Timer 和 TimerTask 1) Timer核心方法 Java代码 //Schedules the specified task for ex ...