一、运算符

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、字符串的方法

  1. 字符串不允许修改
  • 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、列表的方法

  1. 列表中的元素可以被修改
  2. 列表中的元素可以被删除
  3. 列表中的元素可以是任何数据类型
  4. 列表可以嵌套
  5. 列表是有序的
  • 列表的格式
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、元组的方法

  1. 元组的一级元素不可被修改
  2. 元组不能增加、删除
  3. 推荐最后加个","
  4. 可迭代对象
  5. 有序的
  • 元组的定义
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、字典的方法

  1. 列表不能作为字典的key,但是元组可以作为字典的key
  2. 可以做hash的数据类型就可以作为字典的key
  3. key重复时保留最后一个
  4. 布尔值也可以作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])

四、常用方法总结

  1. 数字
int
  1. 字符串
replace
find
join
strip
startswith
endswith
split
upper
lower
format
  1. 列表
append
extend
insert
  1. 字典
get
update
keys
values
items

转载于:https://www.cnblogs.com/L-dongf/p/10575194.html

190320运算符数据类型相关推荐

  1. python 运算符 数据类型的转换

    运算符 python支持以下几种运算符 算术运算符 下面以a=10 ,b=20为例进行计算 运算符 描述 实例 + 加 两个对象相加 a + b 输出结果 30 - 减 得到负数或是一个数减去另一个数 ...

  2. Java_Day2 变量、基本数据类型、运算符

    Day02 变量 常量是固定不变的值,变量是可以变化的 定义变量: ​ 数据类型.变量.数据值 ​ 注意: float b = 3.4f;long c = 12l; // 当我们定义一个float类型 ...

  3. 初学__Python——Python数据类型之数字

    目录 一.整型和浮点型 二.运算符 数据类型是程序的基础,程序设计的本质就是对数据进行处理.Python有设计良好的数据类型,以及丰富的内置函数. 数字是程序需要处理的最基本的数据类型,任何编程语言都 ...

  4. 【C 语言入门】数据类型

    C 语言的数据类型 数据类型,即数据对象的类型,是编程语言的基石.自编程语言发明以来,数据类型就已经存在,其最初的目的就是为了能够让程序更加充分的利用稀缺的内存空间. 在硬件行业严格遵守摩尔定律发展了 ...

  5. Java基础(介绍与数据类型)

    计算机(Computer):全称电子计算机,俗称电脑.是一种能够按照程序运行,自动.高速处理海量数据的现代化智能电子设备.由硬件和软件组成,没有安装任何软件的计算机称为裸机.常见的形式有台式计算机.笔 ...

  6. Java基础笔记(入门,语法基础,流程控制,数组)

    Java语言入门 发展历程 三大技术体系 JavaSE 标准版 JavaEE 企业版 JavaME 嵌入式版 Java语言特点 简单性 健壮性 面向对象 分布式 多线程 动态性 可移植性(跨平台) J ...

  7. java语言中声明布尔型_【Java初探02】——Java语言基础

    本篇博文就Java语言的一些基本元素进行一些记录和阐述,主要讲解一下Java语言的一些基本构成元素和Java的主类结构. Java语言基础的大致组成 java主类结构 基本的数据类型 变量与常量 运算 ...

  8. 常用JavaScript的高级技巧

    前言 编程是一件很快乐的事,实现一个目的,我们可以有很多方法路径,在这篇文章我们介绍一些JavaScript的奇技淫巧,仅供大家参考,各路大神在平时的代码编写时,如很多简洁高效的书写方式:欢迎各位在下 ...

  9. R语言学习笔记(一)R语言的基本操作与函数

    文章目录 写在前面 R语言GUI操作 基本的快捷键与命令 帮助命令 R Studio 常用快捷键 R语言基础语法 变量操作 运算符 数据类型 数据类型的判断 向量的基本操作 创建向量(数值类型) 基本 ...

  10. [转]OpenMP 入门指南

    简介 这门课作为 ECE 中少有的跟计算机科学相关的课,自然是必上不可.不过无论是 OpenMP 还是 CUDA,对于平时极少接触并行编程的我来说,都是十分吃力的,第一次作业的 OpenMP 编程已经 ...

最新文章

  1. 循环x次输出java_Java9班第二次周测
  2. OneAPM大讲堂 | 提高JavaScript性能的30个技巧
  3. linux 跟踪链接 超时,Linux:跟踪netstat -s“连接尝试失败”的来源
  4. 另一个日历(根据农历网上的寿星万年历修改)最新修改适应FF
  5. luogu p3515 Lightning Conductor
  6. div css页面布局 模板_HTML 布局
  7. VTK:Utilities之ExtractFaces
  8. 可以分屏吗_LED透明屏分屏是怎么一回事?
  9. 计算机删除等级列在哪里,插入与删除Excel表格的单元格、行和列
  10. Objective-C之category
  11. 《Web全栈工程师的自我修养》
  12. [gtest][002] A quick start to build the Google C++ Testing project
  13. 制图折断线_学不好CAD怎么办?老师傅教你CAD制图规范,新手也能秒懂
  14. py2neo 数据类型
  15. Python标准库-string模块《未完待续》
  16. 推荐系统(Recommendation system )
  17. 按之字形顺序打印二叉树(C++)
  18. 报错Could not resolve resource location pattern [classpath:com/yh/mapping/*.xml]
  19. 手把手教你逆向分析 Android 程序
  20. golang-querymoredeteleupdatedelete

热门文章

  1. Python字符串| min()
  2. 计算机操作者权限恢复,win10系统提示“需要管理员权限”的还原方案
  3. 基于java+springboot+mysql的中小型超市进销存管理系统
  4. 关于 360 评估你可能不知道的事
  5. 计算机裸机的功能,计算机中裸机是指什么
  6. .net支付宝沙箱二维码支付
  7. 近几年美国人口数据matlab,【美国人口2018总人数】美国人口数量2018|美国人口世界排名...
  8. Java8新特性学习第一天
  9. 安装ADOBE READER时无法将数值写入键
  10. Java实现 蓝桥杯 算法提高 天天向上(DP)