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中函数的参数
Apr 27 Python
将Python代码嵌入C++程序进行编写的实例
Jul 31 Python
分享给Python新手们的几道简单练习题
Sep 21 Python
Python实现字符串与数组相互转换功能示例
Sep 22 Python
Python设计模式之门面模式简单示例
Jan 09 Python
Python3实现的字典遍历操作详解
Apr 18 Python
解决pandas read_csv 读取中文列标题文件报错的问题
Jun 15 Python
利用selenium爬虫抓取数据的基础教程
Jun 10 Python
通过python实现弹窗广告拦截过程详解
Jul 10 Python
python修改linux中文件(文件夹)的权限属性操作
Mar 05 Python
Python如何使用paramiko模块连接linux
Mar 18 Python
python实现在内存中读写str和二进制数据代码
Apr 24 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
使用adodb lite解决问题
2006/12/31 PHP
PHP获取当前相对于域名目录的方法
2015/06/26 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
js 获取子节点函数 (兼容FF与IE)
2010/04/18 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
用最通俗易懂的代码帮助新手理解javascript闭包 推荐
2012/03/01 Javascript
js关闭浏览器窗口及检查浏览器关闭事件
2013/09/03 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
基于javascript代码实现通过点击图片显示原图片
2015/11/29 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
Bootstrap3.0学习教程之JS折叠插件
2016/05/27 Javascript
jQuery EasyUI学习教程之datagrid点击列表头排序
2016/07/09 Javascript
JavaScript兼容性总结之获取非行间样式案例
2016/08/07 Javascript
JS碰撞运动实现方法详解
2016/12/15 Javascript
详解如何在Vue2中实现组件props双向绑定
2017/03/29 Javascript
JS异步文件上传(兼容IE8+)
2017/04/02 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
JavaScript基础之静态方法和实例方法分析
2018/12/26 Javascript
bootstrap table实现横向合并与纵向合并
2019/07/18 Javascript
[03:14]DOTA2斧王 英雄基础教程
2013/11/26 DOTA
400多行Python代码实现了一个FTP服务器
2012/05/10 Python
go和python变量赋值遇到的一个问题
2017/08/31 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
matplotlib.pyplot画图 图片的二进制流的获取方法
2018/05/24 Python
django项目环境搭建及在虚拟机本地创建django项目的教程
2019/08/02 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
python3检查字典传入函数键是否齐全的实例
2020/06/05 Python
AmazeUI 导航条的实现示例
2020/08/14 HTML / CSS
Linux不知道文件后缀名怎么判断文件类型
2012/04/26 面试题
护理职业生涯规划书
2014/01/24 职场文书
家长对孩子评语
2014/01/30 职场文书
期中考试后的反思
2014/02/08 职场文书
小学数学教学经验交流材料
2014/05/22 职场文书
不遵守课堂纪律的检讨书
2014/09/24 职场文书
大学生迟到检讨书500字
2014/10/17 职场文书
全网非常详细的pytest配置文件
2022/07/15 Python