190320运算符数据类型
一、运算符
1、算术运算符
- + 加
- - 减
- * 乘
- / 除
- ** 平方
- // 整除
- % 取余
2、比较运算符
- == 等于
- > 大于
- < 小于
- <= 小于等于
- >= 大于等于
- != or <> 不等于
3、成员运算符
- in
- not in
name = "dongfei"
if "d" in name: #not inprint('OK')
else:print("ERROR")
4、逻辑运算符
- and
- or
user = 'dongfei'
passwd = '123456'
gender = 'M'
result = gender == "M" and (user == "dongfei" and passwd == "123456") #先计算括号内的
print(result)
5、赋值运算符
- =
- +=
二、基本数据类型
- 数字 int
- 字符串 str
- 布尔值 bool:False\None\""\()\[]\{}\0
- 列表 list
- 元组 tuple
- 字典 dict
1、数字的方法
- int() 转换成整型
a = "123"
b = int(a) #将字符串转换为整型
print(type(b)) #查看对象的数据类型
a = "0011"
b = int(a, base=2) #将a以2进制的方式转换为十进制
print(type(b))
print(b)
- bit_length() 当前数字的二进制至少用几位来表示
age = 10
r = age.bit_length()
print(r)
2、字符串的方法
- 字符串不允许修改
- capitalize() 首字母大写
s4 = "admininad"
print(s4.find("in"))
- lower() 或 casefold() 将字符串中的大写字母转换为小写
- islower() 判断字符串是否为小写
- upper() 转换为大写
- isupper() 是否为大写
- swapcase() 大小写转换
s2 = "Dongfei"
print(s2.casefold())
print(s2.lower())
print(s2.islower())
print(s2.upper())
print(s2.isupper())
print(s2.swapcase())
- center(20,"#") 设置总宽度,将字符串居中,可指定填充内容
- ljust(20,"#") 右补全
- rjust(20,"#") 左补全
- zfill(20) 填充0
s2 = "Dongfei"
print(s2.center(20,"#")) #######Dongfei#######
print(s2.ljust(20,"#")) #Dongfei#############
print(s2.rjust(20,"#")) ##############Dongfei
print(s2.zfill(20)) #0000000000000Dongfei
- count('i',5,7) 统计字符串中有几个i,范围第5个字符到第7个字符
- endswith('i') 判断字符串是否以i结尾
- startswith('d') 判断字符串是否以d开头
s3 = "dongfeiii"
print(s3.count('i',5,7))print(s3.endswith('i'))
print(s3.startswith('d'))
- encode()
- decode()
- find() 在字符串中查找并获取子串的位置,如果找不到则返回-1
- index() 功能和find()相似,如果找不到则报错
s4 = "admininad"
print(s4.find("in"),7,8)
print(s4.index("in"))
- format() 将字符串中的占位符替换为指定的值
- format_map() 和format()功能相似,接收字典
s5 = 'i am {name}'
print(s5.format(name="dongfei"))
print(s5.format( **{"name":"dongfei"} ))
print(s5.format_map( {"name":"dongfei"} ))s6 = 'i am {0}, age {1}'
print(s6.format("dongfei",18))
- isalnum()
- isalpha()
- isdigit()
- isdecimal()
- isnumeric()
s7 = "asdf9234"
print(s7.isalnum()) #是否是字母和数字
print(s7.isalpha()) #是否是字母
print(s7.isdigit()) #是否是数字
print(s7.isdecimal()) #是否是数字,包括类似②特殊的数字
print(s7.isnumeric()) #是否是数字,可以判断中文的"二"
- expandtabs(6) 将字符串6个分为一组,如果有\t则占用此组内剩余的字符
s8 = "username\temail\tpassword\ndongfei\tdongfei@qq.com\t123456"
print(s8.expandtabs(20))
- isidentifier() 是否是一个标识符
s9 = "_123"
print(s9.isidentifier()) #是否是一个标识符,数字、字母、下划线,不能单独数字
- isprintable() 是否存在不可显示的字符,\t,\n等
s11 = "ja\tck"
print(s11.isprintable())
- isspace() 判断是否为空字符串
s12 = " "
print(s12.isspace())
- title() 将字符串转换标题
- istitle() 判断是否为标题
s13 = "this is a title"
s14 = s13.title()
print(s14,s14.istitle()) #This Is A Title True
- join() 字符串拼接
s15 = "床前明月光"
print("_".join(s15)) #床_前_明_月_光
- strip() 去除空格、\t、\n或者指定的字符,默认去空格
s16 = " dong fei "
print(s16.lstrip())
print(s16.rstrip())
print(s16.strip())
s17 = "dongfei"
print(s17.lstrip("d"))
- maketrans() 对应
- translate() 替换
s18 = "床前明月光,12345"
s19 = str.maketrans("12345","疑似地上霜")
print(s18.translate(s19)) #床前明月光,疑似地上霜
- partition("s") 分割,包括分割的元素
- split("s") 分割,不包括分割的元素
- splitlines(True) 根据换行符分割
s20 = "asdftestfdas"
print(s20.partition("s")) #按照”s“做分隔符分割为三份,('a', 's', 'dftestfdas')
print(s20.rpartition("s")) #('asdftestfda', 's', '')
print(s20.split("s")) #['a', 'dfte', 'tfda', '']
print(s20.rsplit("s",2)) #['asdfte', 'tfda', '']s21 = "qwer\nlllsdf\nsdfggf"
print(s21.splitlines(True)) #['qwer\n', 'lllsdf\n', 'sdfggf'] #保留换行符
print(s21.splitlines(False)) #['qwer', 'lllsdf', 'sdfggf'] #不保留换行符
- replace() 字符串替换
s24 = "dongfeidongfeidongfei"
print(s24.replace("dong","xi")) #xifeixifeixifei
print(s24.replace("dong","xi",1)) #xifeidongfeidongfei
- 重点小结
1. join()
2. split()
3. find()
4. strip()
5. upper()
6. lower()
7. replace()
- 字符串索引和切片,通过下标获取字符串中的某一个字符
s22 = "dongfei"
print(s22[0])
print(s22[1])
print(s22[2])
print(s22[3])
print(s22[0:3]) #0 >=; 3 < 结果:don
print(s22[0:-1]) #-1表示最后一个 结果:dongfestr = ‘0123456789’
print str[0:3] #截取第一位到第三位的字符
print str[:] #截取字符串的全部字符
print str[6:] #截取第七个字符到结尾
print str[:-3] #截取从头开始到倒数第三个字符之前
print str[2] #截取第三个字符
print str[-1] #截取倒数第一个字符
print str[::-1] #创造一个与原字符串顺序相反的字符串
print str[-3:-1] #截取倒数第三位与倒数第一位之前的字符
print str[-3:] #截取倒数第三位到结尾
print str[:-5:-3] #逆序截取
- len() 可接收字符串(有几个字符)、列表(有几个元素)
print(len(s22)) #计算字符串占用多少字符
- 小试牛刀1
import time
s23 = "飞流直下三千尺,疑似银河落九天。"
index = 0
while index < len(s23):print(s23[index])index += 1time.sleep(1)
- 小试牛刀2
import time
s23 = "飞流直下三千尺,疑似银河落九天。"
for i in s23:print(i)time.sleep(1)
3、列表的方法
- 列表中的元素可以被修改
- 列表中的元素可以被删除
- 列表中的元素可以是任何数据类型
- 列表可以嵌套
- 列表是有序的
- 列表的格式
li = ["dongfei", "M", 18, ["python", "linux"]]
- append() 追加元素
li = ["dongfei", "M", 18, "python", "linux"]
li.append("mysql") #在最后追加一个元素
li.append([123,321])
print(li)
- 修改元素
li[0] = "jack"
li[1:2] = ["F", 19]
- copy() 浅拷贝
li = ["dongfei", "M", 18, "python", "linux"]
li2 = li.copy()
print(li)
print(li2)
- del 删除元素
del li[0]
del li[1:3]
- clear() 清空元素
li.clear()
- in 判断
print("dongfei" in li)
print("python" in li[3])
- for 循环
for item in li:print(item)
- 取嵌套列表中的元素
print(li[3][0])
- 字符串转换为列表
a = "abc123"
print(list(a)) #['a', 'b', 'c', '1', '2', '3']
- 列表转换为字符串
# 第一种方法
li = ["dongfei", "M", 18, "python", "linux"]
s1 = ""
for item in li:s1 += str(item)
print(type(s1), s1)# 第二种方法,前提是列表中的元素都是字符串
# s2 = "".join(li)
- count() 计算元素出现的次数
li = ["dongfei", "M", 18, "python", "linux"]
print(li.count("linux"))
- extend() 扩展元素,参数为可迭代对象
li = [11,22,33,44]
li.extend([55,66])
print(li) #[11, 22, 33, 44, 55, 66]
- index() 根据指定元素从左到右查找元素位置
li = ["dongfei", "M", 18, ["python", "linux"]]
print(li.index("M", 1, 3))
- insert() 在指定位置插入元素
li = ["dongfei", "M", 18, ["python", "linux"]]
li.insert(3, "mysql")
print(li) #['dongfei', 'M', 18, 'mysql', ['python', 'linux']]
- pop() 删除元素
li = ["dongfei", "M", 18, ["python", "linux"], "mysql"]
print(li.pop(1)) #M
print(li) #['dongfei', 18, ['python', 'linux'], 'mysql']
- remove() 删除元素
li = ["dongfei", "M", 18, ["python", "linux"], "mysql"]
li.remove("dongfei")
print(li) #['M', 18, ['python', 'linux'], 'mysql']
- reverse() 将列表元素的位置反转
li = ["dongfei", "M", 18, ["python", "linux"], "mysql"]
li.reverse()
print(li) #['mysql', ['python', 'linux'], 18, 'M', 'dongfei']
- sort() 排序
li = [3, 234 ,5, 556, 3234, 234, 557]
li.sort() #[3, 5, 234, 234, 556, 557, 3234]
# li.sort(reverse=True) #[3234, 557, 556, 234, 234, 5, 3]
print(li)
4、元组的方法
- 元组的一级元素不可被修改
- 元组不能增加、删除
- 推荐最后加个","
- 可迭代对象
- 有序的
- 元组的定义
tu = (123, "dongfei", (22, "abc"), ["mysql", "python"], "linux",)
print(tu[1]) #dongfei
print(tu[2:4]) #((22, 'abc'), ['mysql', 'python'])
- 将元组转换为列表
tu = (123, "dongfei", (22, "abc"), ["mysql", "python"], "linux",)
li = list(tu)
print(li, type(li))
- count() 统计指定的元素在元组中出现几次
- index() 获取指定的元素在元组中的位置
tu = (123, "dongfei", (22, "abc"), ["mysql", "python"], "linux",)
print(tu.count("dongfei")) #1
print(tu.index("dongfei")) #1
5、字典的方法
- 列表不能作为字典的key,但是元组可以作为字典的key
- 可以做hash的数据类型就可以作为字典的key
- key重复时保留最后一个
- 布尔值也可以作key
- 定义
info = {"name": "dongfei","age": 18,"skill": ["python", "linux", "mysql"]
}print(info)
print(info["name"]) #dongfei
print(info["skill"][0]) #python
- 删除键值
info = {"name": "dongfei","age": 18,"skill": ["python", "linux", "mysql"]
}
del info["age"] #{'name': 'dongfei', 'skill': ['python', 'linux', 'mysql']}
del info["skill"][2] #{'skill': ['python', 'linux'], 'name': 'dongfei', 'age': 18}
print(info)
- 字典的for循环
- info.keys()
- info.values()
- info.items()
info = {"name": "dongfei","age": 18,"skill": ["python", "linux", "mysql"]
}for item in info: #默认循环所有的keyprint(item)for item in info.keys(): #循环所有keyprint(item)for item in info.values(): #循环所有valueprint(item)for k,v in info.items(): #循环取所有key和valueprint(k, v)
- clear() 清空字典
copy() 浅拷贝
dict.fromkeys() 将可迭代对象生成字典,key为可迭代对象的元素
print(dict.fromkeys(["k1", 321, "abc"])) #{321: None, 'k1': None, 'abc': None}
- 根据key获取值,key不存在时返回指定值,默认为None
info = {"name": "dongfei","age": 18,"skill": ["python", "linux", "mysql"]
}
print(info.get("name")) #dongfei
print(info.get("nono", "key不存在")) #key不存在
- pop() 删除键值并返回
- popitem() 随机删除一个键值并返回
info = {"name": "dongfei","age": 18,"skill": ["python", "linux", "mysql"]
}
v1 = info.pop("skill")
print(v1) #['python', 'linux', 'mysql']
v2 = info.pop("nono", "key不存在")
print(v2) #key不存在
print(info) #{'age': 18, 'name': 'dongfei'}
- setdefault() 已存在,不设置,获取当前key的值;不存在,设置,获取设置后key的值
info = {"name": "dongfei","age": 18,"skill": ["python", "linux", "mysql"]
}
print(info.setdefault("name", "maria")) #dongfei
print(info.setdefault("new_name", "jack")) #jack
print(info) #{'age': 18, 'skill': ['python', 'linux', 'mysql'], 'new_name': 'jack', 'name': 'dongfei'}
- update() 更新键值
info = {"name": "dongfei","age": 18,"skill": ["python", "linux", "mysql"]
}
info.update({"name": "jack", "age":21}) #{'name': 'jack', 'skill': ['python', 'linux', 'mysql'], 'age': 21}
info.update(name="jack", age=21)
print(info)
三、range()
- 基本用法
for item in range(0,10): #1 ~ 9print(item)
- 步长
for item in range(0,10,2): #0,2,4,6,8print(item)
- 打印字符串对应字符的下标
taohuaxi = "一座高桥隔着云烟出现,在岩石的西畔询问渔船。桃花整天随着流水流淌,桃源洞口在清溪的哪边?"
for item in range(len(taohuaxi)):print(item,taohuaxi[item])
四、常用方法总结
- 数字
int
- 字符串
replace
find
join
strip
startswith
endswith
split
upper
lower
format
- 列表
append
extend
insert
- 字典
get
update
keys
values
items
转载于:https://www.cnblogs.com/L-dongf/p/10575194.html
190320运算符数据类型相关推荐
- python 运算符 数据类型的转换
运算符 python支持以下几种运算符 算术运算符 下面以a=10 ,b=20为例进行计算 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 ...
- Java_Day2 变量、基本数据类型、运算符
Day02 变量 常量是固定不变的值,变量是可以变化的 定义变量: 数据类型.变量.数据值 注意: float b = 3.4f;long c = 12l; // 当我们定义一个float类型 ...
- 初学__Python——Python数据类型之数字
目录 一.整型和浮点型 二.运算符 数据类型是程序的基础,程序设计的本质就是对数据进行处理.Python有设计良好的数据类型,以及丰富的内置函数. 数字是程序需要处理的最基本的数据类型,任何编程语言都 ...
- 【C 语言入门】数据类型
C 语言的数据类型 数据类型,即数据对象的类型,是编程语言的基石.自编程语言发明以来,数据类型就已经存在,其最初的目的就是为了能够让程序更加充分的利用稀缺的内存空间. 在硬件行业严格遵守摩尔定律发展了 ...
- Java基础(介绍与数据类型)
计算机(Computer):全称电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔 ...
- Java基础笔记(入门,语法基础,流程控制,数组)
Java语言入门 发展历程 三大技术体系 JavaSE 标准版 JavaEE 企业版 JavaME 嵌入式版 Java语言特点 简单性 健壮性 面向对象 分布式 多线程 动态性 可移植性(跨平台) J ...
- java语言中声明布尔型_【Java初探02】——Java语言基础
本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...
- 常用JavaScript的高级技巧
前言 编程是一件很快乐的事,实现一个目的,我们可以有很多方法路径,在这篇文章我们介绍一些JavaScript的奇技淫巧,仅供大家参考,各路大神在平时的代码编写时,如很多简洁高效的书写方式:欢迎各位在下 ...
- R语言学习笔记(一)R语言的基本操作与函数
文章目录 写在前面 R语言GUI操作 基本的快捷键与命令 帮助命令 R Studio 常用快捷键 R语言基础语法 变量操作 运算符 数据类型 数据类型的判断 向量的基本操作 创建向量(数值类型) 基本 ...
- [转]OpenMP 入门指南
简介 这门课作为 ECE 中少有的跟计算机科学相关的课,自然是必上不可.不过无论是 OpenMP 还是 CUDA,对于平时极少接触并行编程的我来说,都是十分吃力的,第一次作业的 OpenMP 编程已经 ...
最新文章
- 循环x次输出java_Java9班第二次周测
- OneAPM大讲堂 | 提高JavaScript性能的30个技巧
- linux 跟踪链接 超时,Linux:跟踪netstat -s“连接尝试失败”的来源
- 另一个日历(根据农历网上的寿星万年历修改)最新修改适应FF
- luogu p3515 Lightning Conductor
- div css页面布局 模板_HTML 布局
- VTK:Utilities之ExtractFaces
- 可以分屏吗_LED透明屏分屏是怎么一回事?
- 计算机删除等级列在哪里,插入与删除Excel表格的单元格、行和列
- Objective-C之category
- 《Web全栈工程师的自我修养》
- [gtest][002] A quick start to build the Google C++ Testing project
- 制图折断线_学不好CAD怎么办?老师傅教你CAD制图规范,新手也能秒懂
- py2neo 数据类型
- Python标准库-string模块《未完待续》
- 推荐系统(Recommendation system )
- 按之字形顺序打印二叉树(C++)
- 报错Could not resolve resource location pattern [classpath:com/yh/mapping/*.xml]
- 手把手教你逆向分析 Android 程序
- golang-querymoredeteleupdatedelete
热门文章
- Python字符串| min()
- 计算机操作者权限恢复,win10系统提示“需要管理员权限”的还原方案
- 基于java+springboot+mysql的中小型超市进销存管理系统
- 关于 360 评估你可能不知道的事
- 计算机裸机的功能,计算机中裸机是指什么
- .net支付宝沙箱二维码支付
- 近几年美国人口数据matlab,【美国人口2018总人数】美国人口数量2018|美国人口世界排名...
- Java8新特性学习第一天
- 安装ADOBE READER时无法将数值写入键
- Java实现 蓝桥杯 算法提高 天天向上(DP)