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. CSS COLOR

    CSS COLOR Color Review We've completed our extensive tour of the colors in CSS! Let's review the key ...

  2. while read line

    # grep "请求报文:" application-20170822-*.log >> applog # cat applog|cut -d ":" ...

  3. ORA-00600: internal error code, arguments: [4193]问题解决

    操作环境 SuSE+Oracle11gR2 问题现象 单板宕机自动重启后,ORACLE运行不正常,主要表现如下: 1.执行shutdown immedate停止数据库时,提示ORA-00600: in ...

  4. GDI+ 实现透明水印和文字

    最近给<JPEG浏览缩放器>增加了水印功能,在设计的过程中,参考了网上的文章,但是发现文章使用的GDI+ API封装包不是我现在使用的那一套,目前DELPHI使用的GDI+ API封装包有 ...

  5. is not writable or has an invalid setter method错误的解决

    java中在配置spring时,遇到is not writable or has an invalid setter method的错误一般是命名方式的问题 需要写成private userInfoD ...

  6. Python自动化运维开发实战 一、初识Python

    导语 都忘记是什么时候知道python的了,我是搞linux运维的,早先只是知道搞运维必须会shell,要做一些运维自动化的工作,比如实现一些定时备份数据啊.批量执行某个操作啊.写写监控脚本什么的. ...

  7. SPSS-判别分析

    判别分析 判别分析是一种有效的对个案进行分类分析的方法.和聚类分析不同的是,判别分析时组别的特征已知. 定义:判别分析先根据已知类别的事物的性质,利用某种技术建立函数式,然后对未知类别的新事物进 行判 ...

  8. linux下网络配置

    配置相关 http://bbs.acehat.com/thread-813-1-1.html

  9. Eclipse git 冲突合并

    Eclipse有一个git的插件叫EGit,用于实现本地代码和远程代码对比.合并以及提交.但是在本地代码和远程代码有冲突的时候,EGit的处理方案还是有点复杂.今天就彻底把这些步骤给理清楚,并公开让一 ...

  10. 无线LoRa远传智能水表

    无线远传智能水表是一款基于瑞萨芯片的水表,该水表具有电子计数.无线远传功能.欠费关阀等功能,无线水表具有的功能如下:无线通信采用SX1278的LoRa进行点对点通信,SX1278模块在通信中启用CAD ...