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 相关文章推荐
基于Python的身份证号码自动生成程序
Aug 15 Python
python中enumerate函数用法实例分析
May 20 Python
Python中有趣在__call__函数
Jun 21 Python
Python的Django框架中的URL配置与松耦合
Jul 15 Python
django2 快速安装指南分享
Jan 05 Python
python 使用pandas计算累积求和的方法
Feb 08 Python
Python绘制热力图示例
Sep 27 Python
python3 配置logging日志类的操作
Apr 08 Python
Python中无限循环需要什么条件
May 27 Python
python实现从ftp上下载文件的实例方法
Jul 19 Python
用Python自动清理电脑内重复文件,只要10行代码(自动脚本)
Jan 09 Python
python中pymysql包操作数据库方法
Apr 19 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
其他功能
2006/10/09 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
Yii2中OAuth扩展及QQ互联登录实现方法
2016/05/16 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
PhpStorm 如何优雅的调试Hyperf的方法步骤
2019/11/24 PHP
JS 删除字符串最后一个字符的实现代码
2014/02/20 Javascript
js改变鼠标的形状和样式的方法
2014/03/31 Javascript
js实现图片拖动改变顺序附图
2014/05/13 Javascript
Js可拖拽放大的层拖动特效实现方法
2015/02/25 Javascript
深入理解JavaScript系列(41):设计模式之模板方法详解
2015/03/04 Javascript
javascript基于DOM实现省市级联下拉框的方法
2015/05/14 Javascript
jQuery针对input的class属性写了多个值情况下的选择方法
2016/06/03 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
微信小程序使用swiper组件实现类3D轮播图
2018/08/29 Javascript
npm配置国内镜像资源+淘宝镜像的方法
2018/09/07 Javascript
微信小程序云开发之使用云存储
2019/05/17 Javascript
jquery操作checkbox的常用方法总结【附测试源码下载】
2019/06/10 jQuery
转换layUI的数据表格中的日期格式方法
2019/09/19 Javascript
SpringBoot在yml配置文件中配置druid的操作
2020/11/16 Javascript
[02:12]DOTA2英雄基础教程 变体精灵
2013/12/16 DOTA
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
Python之循环结构
2019/01/15 Python
深度辨析Python的eval()与exec()的方法
2019/03/26 Python
Numpy对数组的操作:创建、变形(升降维等)、计算、取值、复制、分割、合并
2019/08/28 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
Python安装依赖(包)模块方法详解
2020/02/14 Python
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
Paradox London官方网站:英国新娘鞋婚礼鞋品牌
2019/08/29 全球购物
JENNIFER BEHR官网:各种耳环和发饰
2020/06/07 全球购物
2015年度个人业务工作总结
2015/04/27 职场文书
党员干部公开承诺书范文
2015/04/27 职场文书
亮剑观后感500字
2015/06/05 职场文书