一、基本数据类型

1、整型(int)

ps1:
数字 int ,所有的功能,都放在int里
a1 = 123
a1 = 456

ps2:

int 将字符串转换为数字

 # -int
# 将字符串转换为数字
a = ""
b = int(a)
b = b + 1000
print(b)

执行结果:

 1123

ps3:

这种类型,不能转换

 a = "123a"   #不能转换,会报错
b = int(a)
print(b)

执行结果:

1 Traceback (most recent call last):
2 File "D:/python/day3/s4.py", line 14, in <module>
3 b = int(a)
4 ValueError: invalid literal for int() with base 10: '123a

ps4:

type 查看他是什么数据类型

 a = ""
print(type(a))
b = int(a)
print(type(b))

执行结果:

 <class 'str'>
<class 'int'>

ps5:

将字符串转换为数字

 a = ""
print(type(a),a) b = int(a)
print(type(b),b)

执行结果:

 <class 'str'> 123
<class 'int'> 123

ps6:
字符串以二进制的方式进行转换

 num = ""  #这个字符串以二进制的方式进行转换
v = int(num, base=2)
print(v)

执行结果:

3

ps7:

字符串以十六进制的方式进行转换

 num = "a"  #这个字符串以十六进制的方式进行转换
v = int(num, base=16)
print(v)

执行结果:

 10

ps8:

字符串以十六进制的方式进行转换

 num = ""  #这个字符串以十六进制的方式进行转换
v = int(num, base=16)
print(v)

执行结果:

 17

ps9:

bit_lenght
当前数字的二进制,至少用n位表示

 # 当前数字的二进制,至少用n位表示
# 1 1
# 2 10
# 3 11
# 4 100
# 5 101
#当前数字的二进制,至少用n位来表示
#age = 1
#age = 2 age = 5
r = age.bit_length()
print(r)

执行结果:

 3

2、字符串(str)

ps1:

capitalize 首字母大写

 test = "aLex"
v = test.capitalize()
print(v)

执行结果:

Alex

ps2:

lower ,casefold

所有变小写,casefold更牛逼,很多未知的对相应变小写

 test = "aLex"
v1 = test.casefold() #casefold更牛逼,很多未知的对相应变小写
print(v1)
v2 = test.lower() #只能处理普通英文的字符,欧洲的特殊字符处理不了
print(v2)

执行结果:

 alex
alex

ps3:

3 设置宽度,并将内容居中
20 代指总长度
* 空白未知填充,一个字符,可有可无

语法:def center(self,width,fillchar=None)  #后面接参数:1、直接忽略  2、必须带  3、有等号的是可选项(可带可不带,如果不设置就用默认:None参数)

1、cneter居中 左右两边空格填充(总共长度20位,不够的左右两边空格填充)

test = "aLex"
v = test.center(20)
print(v)

执行结果:

         aLex          #总长度20位,不够左右两边空格填充

2、cneter居中 左右两边*号填充(总共长度20位,不够的左右两边*号填充)

 test = "aLex"
v = test.center(20,"*")
print(v)

执行结果:

 ********aLex********

3、center居中 左右两边中字填充(总共20位,不够的左右两边中字填充)

 test = "aLex"
v = test.center(20,"中")
print(v)

执行结果:

 中中中中中中中中aLex中中中中中中中中

4、ljust 右边以*填充(总共20位)

 test = "alex"
v = test.ljust(20,"*")
print(v)

执行结果:

 alex****************

5、rjust 左边以*填充 (总共20位)

 test = "alex"
v = test.rjust(20,"*")
print(v)

执行结果:

 ****************alex

6、zfill 左边以0填充(总共20位)

 test = "alex"
v = test.zfill(20)
print(v)

执行结果:

 0000000000000000alex

ps4:

1、count 去字符串中寻找,寻找子序列的出现次数

 test = "aLexalexr"
v = test.count('ex') #计算ex 出现的次数
print(v)

执行结果:

 2

2、count 5,6(表示起始位置,结束位置)

语法:def count(self,sub,start=None,end=None)

 test = "aLexalexr"
v = test.count('ex',5,6) #参数中的5,6表示,从那开始到那结束)
print(v)

执行结果:

 0

ps5:

encode 和 decode (这两个没有讲,先欠着,后面讲到的时候再充补)
1、encode
2、decode

ps6:

1、startswith 以什么什么开始

 test = "alex"
v = test.startswith('ex')
print(v)

执行结果:

 False

2、endswith  以什么什么结尾

 test = "alex"
v = test.endswith('ex')
print(v)

执行结果:

 True

ps7:

1、用法:expandtabs 断句 6

1 # !/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 # Author: nulige
4
5 test = "12345678\t9" #123456:6位 四个空格+78:\t补齐4位+78 9:如果后面没有6位,就不管了
6 v = test.expandtabs(6) #6就是指每6位一段,\t:就是不够六位的用空格补齐
7 print(v,len(v)) #len :判断字符串的长度

执行结果:

1 12345678    9 13

2、expandtabs,断句20,

1 # !/usr/bin/env python
2 # -*- coding:utf-8 -*-
3 # Author: nulige
4
5 # expandtabs,断句20,
6 #输出三个\n 就换行 内容就是输出三行。
7 test = "username\temail\tpassword\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123\nlaiying\tying@q.com\t123"
8 v = test.expandtabs(20)
9 print(v)

执行结果:

1 username            email               password
2 laiying ying@q.com 123
3 laiying ying@q.com 123
4 laiying ying@q.com 123

ps8:

1、find 从开始往后找,找到第一个之后,获取其位置

> 或 >=

未找到 -1

test = "alexalex"
v = test.find('ex') #从前向后找,获取其位置
print(v)

执果结果:

 2

2、index找不到,报错 忽略

 test = "alexalex"
v = test.index('')
print(v)

执行结果:

1 Traceback (most recent call last):
2 File "D:/python/day3/s3.py", line 137, in <module>
3 v = test.index('8')
4 ValueError: substring not found

ps9:

1、format 格式化,将一个字符串中的占位符替换为指定的值

 test = 'i am {name}, age {a}'
v = test.format(name='alex',a=19)
print(v)

执行结果:

 i am alex, age 19

2、用数字,可以直接传值

 test = 'i am {0}, age {1}'
v = test.format('alex',19)
print(v)

执行结果:

 i am alex, age 

ps10:

format 格式化,传入的值 {"name": 'alex', "a": 19}

 test = 'i am {name}, age {a}'
v1 = test.format(name='df',a=10)
v2 = test.format_map({"name": 'alex',"a": 19}) #这两种格式结果是一样的,只是写法不同
print(v1)
print(v2)

执行结果:

 i am df, age 10
i am alex, age 19

ps11:

isalnum  判断字符串中只能包含字母和数字,如果是就是True

 test = "jjj"
v = test.isalnum()
print(v)

执行结果:

 True

ps12:

isalpha 判断字符串中是否是字母和汉子(如果不是就是Flase)

 test = "asdf"
v = test.isalpha()
print(v)
 True

ps13:

1、iddecimal ,isdigit,isnumeric 判断当前输入的值,是否是数字

 test = "②"  #这种特殊的数字
v1 = test.isdecimal() #判断是否是数字
 v2 = test.isdigit()     #判断是否是数字,还可以判断特殊的数字!  print(v1,v2)

执行结果:

 False True

2、isnumeric 判断当前输入是否是数字

 test = "二" # 1,②
v3 = test.isnumeric()
print(v3)

执行结果:

 True

ps14:

1、isidentifier 判断字母,数字,下划线:标识符:def class

 a = "_123"
v = a.isidentifier()
print(v)

执行结果:

 True

2、isidentifier 判断字母,数字,下划线:标识符:def class

 a = "def"  #标识符也符合
v = a.isidentifier()
print(v)

执行结果:

 True

3、isidentifier 判断字母,数字,下划线:标识符:def class

 a = ""  #不符合,没有下划线
v = a.isidentifier()
print(v)

执行结果:

 False

ps15:

isprintable 是否存在不可显示的字符

\t 制表符
\n 换行
 test = "oiuas\tdfkj"
v = test.isprintable()
print(v)

执行结果:

 False

ps16:

isspace 判断是否全部是空格

 test = " "
v = test.isspace()
print(v)

执行结果:

 True

ps17:

istitle, title,判断是否是标题

 test = "Return True if all cased characters in S are uppercase and there is"
v1 = test.istitle() #判断标题,首字母是否大写
print(v1)
v2 = test.title() #把普通的字符串转换为首字母大写
print(v2)
v3 = v2.istitle() #再判断v2,就是大写啦。所以是True
print(v3)

执行结果:

 False
Return True If All Cased Characters In S Are Uppercase And There Is
True

ps18:   (标记为五星表示经常用到的)

***** join 将字符串中的每一个元素按照指定分隔符进行拼接

 test = "你是风儿我是沙"
v = "_".join(test)
print(v)

执行结果:

 你_是_风_儿_我_是_沙

ps19:

判断是否全部是大小写 和 转换为大小写

1、islower 判断是否是小写 和 lower转换为小写

 test = "Alex"
v1 = test.islower() #判断是否是小写; 用于验证码:不管用户输入的是大写或小写,统一转换为小写
v2 = test.lower() #转换为小写
print(v1, v2)

执行结果:

 False ALEX

2、isupper判断是否是大写和upper 转换为大写

 test = "Alex"
v1 = test.isupper() #判断是否是大写
v2 = test.upper() #转换为大写
print(v1,v2)

执行结果:

 False ALEX

ps20:

1、lstrip,rstrip,strip去除左右空白

 test = " alex "
v1 = test.lstrip() #处理左边的空格
v2 = test.rstrip() #处理右边的空格
v3 = test.strip() #两边都处理空格
print(v1,v2,v3)

执行结果:

 alex   alex alex

2、去除\t  \n

 test = "\nlex "
v1 = test.lstrip() #处理左边的\n or \t
print(test)
print(v1)

执行结果:

     #空格
lex
lex

3、去除左边的x (移除最多字符)

 test = "xalex "
v1 = test.lstrip('x') #处理左边的x
print(v1)

执行结果:

 alex 

4、rstrip 从右边开始往左边找,先进行最多匹配

 test = "xalex"
v1 = test.rstrip('91lexex') #从右边开始往左边找,先进行最多匹配
print(v1)

执行结果:

 xa

ps21:

translate 对应关系替换

 v = "asidufkasd;fiuadkf;adfkjalsdjf"
m = str.maketrans("aeiou", "") #定义a=1,e=2,其他依此类推
new_v = v.translate(m)
print(new_v)

执行结果:

 1s3d5fk1sd;f351dkf;1dfkj1lsdjf

ps22:

1、partition,rpartition 分割为三部分

 test = "testasdsddfg"
v = test.partition('s') #找到第1个s进行分割,只能分成三部分
print(v) test = "testasdsddfg"
v = test.rpartition('s')
print(v)

执行结果:

 ('te', 's', 'tasdsddfg')  #第一个的结果
('testasd', 's', 'ddfg') #第二个的结果

2、split, rsplit 分割为指定个数,分割后s拿不到

  • 正则表达表 (以后会学)
  • 是否想要分割的元素
  • 用途:计算器
 test = "testasdsddfg"
v = test.split('s',2)
print(v) test = "testasdsddfg"
v = test.rsplit('s',2)
print(v)

执行结果:

 ['te', 'ta', 'dsddfg']
['testa', 'd', 'ddfg']

3、partition 和 split 的区别

答:区别就是分割后一个可以拿到*,一个不能拿到*

 test = "1*2"
v = test.partition('*')
print(v) test = "1*2"
v = test.split('*',2)
print(v)

执行结果:

 ('', '*', '')  #拿到了*
['', ''] #没有拿到*

ps23:

splitlines 分割,只能根据,true,false:是否保留换行

 test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines()
print(v) test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines(True)
print(v) test = "asdfadfasdf\nasdfasdf\nadfasdf"
v = test.splitlines(False) #参数只能加True or False
print(v)

执行结果:

 ['asdfadfasdf', 'asdfasdf', 'adfasdf']              #不加参数
['asdfadfasdf\n', 'asdfasdf\n', 'adfasdf'] #True
['asdfadfasdf', 'asdfasdf', 'adfasdf'] #False

ps24:

1、startswith 判断以xxx开头

 test = "backend 1.1.1.1"
v = test.startswith('b') #xxx开头
print(v)

执行结果:

 True

2、endswith 判断以xxx结尾

 test = "backend 1.1.1.1"
test.endswith('') #以xxx结尾
print(v)

执行结果:

 True

ps25:

swapcase 大小写转换

 test = "aLex"
v = test.swapcase()
print(v)

执行结果:

 AlEX

ps26:

1、replace 将指定字符串替换为指定字符串

 test = "alexalexalex"
v = test.replace("ex",'bbb')
print(v)

执行结果:

 albbbalbbbalbbb

2、replace 将指定字符串替换为指定字符串,指定个数

 test = "alexalexalex"
v = test.replace("ex",'bbb',2)
print(v)

执行结果:

 albbbalbbbalex

重点:

一、七个基本魔法如下:

  1. join
  2. split
  3. find
  4. strip
  5. upper
  6. lower
  7. replace

二、4个灰魔法如下:

test = "郑建文妹子有种冲我来"

1、for循环

 for 变量名 in 字符串:
变量名
break
continue index = 0
while index < len(test):
v = test[index]
print(v) index += 1
print('=======') for zjw in test:
print(zjw) test = "郑建文妹子有种冲我来"
for item in test:
print(item)
break for item in test:
continue
print(item)

2、索引,下标,获取字符串中的某一个字符

 v = test[3]

 print(v)

3、切片

 v = test[0:-1]    # 0=< <1
print(v)

4、获取长度

Python3: len获取当前字符串中由几个字符组成v = len(test)print(v)

 v = len(test)
print(v)

注意:

 len("asdf")
for循环
索引
切片

5、获取连续或不连续的数字,

 Python2中直接创建在内容中
python3中只有for循环时,才一个一个创建
r1 = range(10)
r2 = range(1,10)
r3 = range(1,10,2) 帮助创建连续的数字,通过设置步长来指定不连续
v = range(0, 100, 5) for item in v:
print(item) 练习题:根据用户输入的值,输出每一个字符以及当前字符所在的索引位置
test = input(">>>")
for item in test:
print(item) 将文字 对应的索引打印出来:
test = input(">>>")
print(test) # test = qwe test[0] test[1]
l = len(test) # l = 3
print(l) r = range(0,l) # 0,3
for item in r:
print(item, test[item]) # 0 q,1 w,2 e test = input(">>>")
for item in range(0, len(test)):
print(item, test[item])

三、1个深灰魔法

记住两句话:

  1. 字符串一旦创建,不可修改
  2. 一旦修改或者拼接,都会造成重新生成字符串
 name = "zhengjianwen"
age = ""
info = name + age
print(info)

执行结果:

 zhengjianwen18

python基础-基本数据类型总结_整型(int)_字符型(str)_day3的更多相关文章

  1. Python基础之数据类型

    Python基础之数据类型 变量赋值 Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程. 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息. 每个变量在使用前都必须赋值 ...

  2. 第二章:python基础,数据类型

    """第二章:python基础,数据类型2.1 变量及身份运算补充2.2 二进制数2.3 字符编码每8位所占的空间位一个比特,这是计算机中最小的表示单位.每8个比特组成一 ...

  3. python基础与数据类型(int, float, str, list)

    目录 python多版本共存 在cmd窗口进入不同版本的python环境 在pycharm中切换不同的版本 python语法之注释 python变量与常量 变量 变量的本质 变量的命名规范 常量 py ...

  4. python基础一数据类型之字典

    摘要: python基础一数据类型之一字典,这篇主要讲字典. 1,定义字典 2,字典的基础知识 3,字典的方法 1,定义字典 1,定义1个空字典 dict1 = {} 2,定义字典 dict1 = d ...

  5. 第一节 Python基础之数据类型(整型,布尔值,字符串)

    数据类型是每一种语言的基础,就比如说一支笔,它的墨有可能是红色,有可能是黑色,也有可能是黄色等等,这不同的颜色就会被人用在不同的场景.Python中的数据类型也是一样,比如说我们要描述一个人的年龄:小 ...

  6. python基础(二)----数据类型

    Python基础第二章 二进制 字符编码 基本数据类型-数字 基本数据类型-字符串 基本数据类型-列表 基本数据类型-元组 可变.不可变数据类型和hash 基本数据类型-字典 基本数据类型-集合 二进 ...

  7. Python学习day04 - Python基础(2)数据类型基础

    <!doctype html>day04 - 博客 figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { ...

  8. python基础之数据类型(一)

    Python3 数字(Number) 定义:a=1 特性: 1.只能存放一个值 2.一经定义,不可更改 3.直接访问 分类:整型,长整型,布尔,浮点,复数 python2.*与python3.*关于整 ...

  9. Python成长之路【第二篇】Python基础之数据类型

    阅读目录 简介 1 什么是数据? x=10,10是我们要存储的数据 2 为何数据要分不同的类型 数据是用来表示状态的,不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字(整形,长整形,浮点型 ...

随机推荐

  1. Javascript字数统计

    字数统计功能,原理是给textarea添加onKeyup事件,事件读取textarea内容并获得长度,并赋值给统计字数的那个文本节点,这里有一点要注意的是添加onKeypress和onKeydown事 ...

  2. [转]12篇学通C#网络编程——第二篇 HTTP应用编程(上)

    本文转自:http://www.cnblogs.com/huangxincheng/archive/2012/01/09/2316745.html 我们学习网络编程最熟悉的莫过于Http,好,我们就从 ...

  3. 怎样用ZBrush中的shadowbox创建物体

    ZBrush一直以方便著称业内各领域,模型师不需要在多个软件中编辑塑造模型,而在ZBrush用shadowbox创建物体的流程,在Tool面板上的Geometry子面板中,4.0版本引入了shadow ...

  4. 常见sql数据类型

    数值型类型 INT 从-231到-231-1的整型数据,存储大小2个字节 SMALLLINT 从-32768到32767的整数数据,存储大小4个字节 TINYINT 0~255的整数类型,存储大小1个 ...

  5. AC日记——密码翻译 openjudge 1.7 09

    09:密码翻译 总时间限制:  1000ms 内存限制:  65536kB 描述 在情报传递过程中,为了防止情报被截获,往往需要对情报用一定的方式加密,简单的加密算法虽然不足以完全避免情报被破译,但仍 ...

  6. JSP前三章错题整理

    A: B: C: D:  web-inf目录中的文件不能被客户端直接访问. 正确答案是 C 您回答的是 D 回答错误 试题分析纠错设为收藏 (选择一项) 14 A: B: C: Tomcat作为Web ...

  7. 转: Eclipse 分屏显示同一个文件

    Eclipse 分屏显示同一个文件   场景 : 某个类很大,可能有数千行.当你想要将类开头部分与中间或者靠后的部分进行对比时,请follow如下步骤: Window -> Editor -&g ...

  8. oracle plsql 捕获异常和抛出异常

    在写oracle存储过程的时候很多东西放到存储过程里面比如一些判断等,要比在程序逻辑里面简单很多,但是也会涉及到捕获和抛出一样的问题. 捕获异常 语法: 首先定义异常: <异常情况>  E ...

  9. POJ 3259 Wormholes (判负环)

    Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 46123 Accepted: 17033 Descripti ...

  10. Cordova - 使用Cordova开发iOS应用实战4(调用摄像头拍照,并编辑)

    使用Cordova可以很方便的通过js代码来使用设备摄像头拍照,只需把camera插件添加进来即可. 一,添加camera插件 首先我们要在“终端”中进入工程所在的目录,然后运行如下命令: 1 cor ...