python中(str,list,tuple)基础知识汇总


Posted in Python onFebruary 20, 2018

python是一门动态解释型的强类型定义语言(先编译后解释)

动态类型语言

动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来

解释型

程序每执行到源程序的某一条指令,则会有一个称之为解释程序的外壳程序将源代码转换成二进制代码以供执行,总言之,就是不断地解释、执行、解释、执行

强类型

一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了

优点:效率高,团队开发,移植,拓展,嵌入

缺点:速度慢,不能加密,禁止多线程并行进程

告诉解释器用什么编码执行

#!/usr/bin/env python
# -*- coding: utf-8 -*-

进制

二进制  01
八进制  01234567
十进制  0123456789
十六进制  0123456789ABCDEF

注释

#单行注释
'''多行注释'''

用户输入:input('用户输入内容')
打印屏幕

name = 'sunlizhao'

print('I am %s'%(name))

%s是字符串 %d是数字 %f是浮点型

数据类型

数字

int(整型),long(长整形),float(浮点型),complex(负数)
布尔

真或假, 1或0, true或false
字符串

name = 'sunlizhao'

print('I am %s'%(name))

%s是字符串 %d是数字 %f是浮点型

字符串操作:

name.capitalize()       首字母大写
name.casefold()         大写全部小写
name.center(50,'-')     在name的两边输出  -  字符
name.count('s')          统计s出现的次数
name.encode()           字符编码为bytes格式
name.endswith('lz')     判断字符串是否为lz结尾
's\tlz'.expandtabs(10)    讲\t转换为多长的空格
name.find('sl')               查找sl,找到返回其索引,  找不到返回-1

format :

    >>> msg = "my name is {}, and age is {}"
    >>> msg.format("alex",22)
    'my name is alex, and age is 22'
    >>> msg = "my name is {1}, and age is {0}"
    >>> msg.format("alex",22)
    'my name is 22, and age is alex'
    >>> msg = "my name is {name}, and age is {age}"
    >>> msg.format(age=22,name="ale")
    'my name is ale, and age is 22'

format_map

    >>> msg.format_map({'name':'alex','age':22})
    'my name is alex, and age is 22'

num1 = [11,22,33]
num2 = (11,22,33)
#num3 = {'a' = 11, 'b' = 22, 'c' = 33}
 
myStr = 'hello word itcast and'
#字符串操作
print (myStr)
print(myStr.find("word"))#找不到返回-1,找到返回下标
print(myStr.rfind("itcast"))#从右面查找,返回下表
print(myStr.index('word'))#同find,找不到会出现异常
print(myStr.rindex("itcast"))#同find
 
print(myStr.count('e'))#查找出现的次数
 
print(myStr.replace('word','Word',1))#将word替换为Word(从左到右替换一个)
 
print(myStr.split(' '))#将字符串中的空格切割掉
 
print(myStr.capitalize())#字符串第一个字符大写
print(myStr.title())#首字母大写
 
print(myStr.lower())#所有大写字符转换为小写
print(myStr.upper())#所有小写字母转换为大写
 
lyric = " 想陪你一起看大海 "
print(lyric.center(50))#在50个字符中居中
print(lyric.ljust(50))#靠左
print(lyric.rjust(50))#靠右
 
print(lyric.strip())#清除左右两侧空格
print(lyric.lstrip())#清楚左侧空格
print(lyric.rstrip())#清楚右侧空格
 
print(lyric.partition("一起"))#以'一起'为中心分割成三段
print(lyric.rpartition("一起"))#从右边开始查找(元组)
 
file_name = "xxxx.txt"
print(file_name.endswith(".txt"))#判断是否是.txt为后缀
print(file_name.startswith("xxxx"))#判断是否是xxxx为开头
 
numbe = "q"
print(numbe.isalpha())#判断是否是字母
print(numbe.isdigit())#判断是否是数字
print(numbe.isalnum())#判断是否是数字或者字母
 
print(numbe.isspace())#判断是否是纯空格
 
a = ["aa","bb","cc"]
b = " "
print(" ".join(a))#将a中的字符串用b连接起来

列表,元祖操作

定义列表

names = ['孙礼昭','slz','sunlizaho']

下标从0开始names[0],names[1],names[2]

倒取从-1开始 names[-1],names[-2],names[-3]
切片:取多个元素

步长为2

names[::2]

如果想取到最后一个元素,不能写-1

names[0:]
追加:

从最后添加

names.append('我是新来的')
插入:

通过索引插入

names.insert(0,'我是第一')
修改:

通过索引修改

names[0] = '我才是第一'
删除:

强删list

def names

清空list

names.clear()

按照下标删除元素内容

def names[0]

names[0] = []

删除指定元素

names.remove('slz')

删除列表最后一个值

names.pop()
拓展:

list1的内容添加到names的后面

names.extend(list1)
统计:

统计names中slz出现的次数

names.count('slz')
排序/翻转:

按照ascll码排序,注意py3不同数据类型不能排序

names.sort()

将整个list倒序(不排只倒)

names.reverse()
获取下标:

根据元素内容获取下标(只返回找到的第一个)

names.index('slz')

元组:tuple一旦创建,不得修改

t = (a,b,[c,d])
tt = t[2]
tt[0] = e
tt[1] = f
print(tt)

不是说不能变吗? 现在为什么又可以变了呢!

tuple的不变是指向不变,指向的list不能变,但是里面的内容是可以更改的

Python 相关文章推荐
Google开源的Python格式化工具YAPF的安装和使用教程
May 31 Python
Python 稀疏矩阵-sparse 存储和转换
May 27 Python
python实现外卖信息管理系统
Jan 11 Python
django 多数据库配置教程
May 30 Python
Python自定义一个类实现字典dict功能的方法
Jan 19 Python
Python3+OpenCV2实现图像的几何变换(平移、镜像、缩放、旋转、仿射)
May 13 Python
python文档字符串(函数使用说明)使用详解
Jul 30 Python
python匿名函数用法实例分析
Aug 03 Python
简单了解Python变量作用域正确使用方法
Jun 12 Python
如何理解python对象
Jun 21 Python
浅谈python出错时traceback的解读
Jul 15 Python
Python基于xlutils修改表格内容过程解析
Jul 28 Python
Python 反转字符串(reverse)的方法小结
Feb 20 #Python
python如何实现int函数的方法示例
Feb 19 #Python
Python cookbook(数据结构与算法)实现查找两个字典相同点的方法
Feb 18 #Python
Python cookbook(数据结构与算法)字典相关计算问题示例
Feb 18 #Python
Python cookbook(数据结构与算法)让字典保持有序的方法
Feb 18 #Python
Python cookbook(数据结构与算法)在字典中将键映射到多个值上的方法
Feb 18 #Python
Python cookbook(数据结构与算法)实现优先级队列的方法示例
Feb 18 #Python
You might like
解析php取整的几种方式
2013/06/25 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)
2016/03/21 PHP
PHP基于socket实现客户端和服务端通讯功能
2017/07/13 PHP
php删除一个路径下的所有文件夹和文件的方法
2018/02/07 PHP
[原创]静态页面也可以实现预览 列表不同的显示方式
2006/10/14 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
利用js的Node遍历找到repeater的一个字段实例介绍
2013/04/25 Javascript
js将控件隐藏的方法及display属性介绍
2013/07/04 Javascript
jquery实现checkbox全选全不选的简单实例
2013/12/31 Javascript
javascript学习笔记之函数定义
2015/06/25 Javascript
基于JS模仿windows文件按名称排序效果
2016/06/29 Javascript
深入理解Node.js 事件循环和回调函数
2016/11/02 Javascript
js轮播图的插件化封装详解
2017/07/17 Javascript
浅谈angularJS的$watch失效问题的解决方案
2017/08/11 Javascript
nodejs实现截取上传视频中一帧作为预览图片
2017/12/10 NodeJs
JS中call和apply函数用法实例分析
2018/06/20 Javascript
使用electron实现百度网盘悬浮窗口功能的示例代码
2018/10/24 Javascript
微信小程序使用echarts获取数据并生成折线图
2019/10/16 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
解决父组件将子组件作为弹窗调用只执行一次created的问题
2020/07/24 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
[01:00:17]DOTA2-DPC中国联赛 正赛 SAG vs Dynasty BO3 第二场 1月25日
2021/03/11 DOTA
python 添加用户设置密码并发邮件给root用户
2016/07/25 Python
TF-IDF与余弦相似性的应用(一) 自动提取关键词
2017/12/21 Python
Python实现绘制双柱状图并显示数值功能示例
2018/06/23 Python
Python实现的微信红包提醒功能示例
2019/08/22 Python
Python通过socketserver处理多个链接
2020/03/18 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
Shell编程面试题
2016/05/29 面试题
元旦晚会感言
2014/03/12 职场文书
社会调查研究计划书
2014/05/01 职场文书
2014高考励志标语
2014/06/05 职场文书
2014年“向国旗敬礼”网上签名寄语活动方案
2014/09/27 职场文书
个人作风建设总结
2014/10/23 职场文书
2016教师年度考核评语大全
2015/12/01 职场文书