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 相关文章推荐
Django中URL视图函数的一些高级概念介绍
Jul 20 Python
Python 中迭代器与生成器实例详解
Mar 29 Python
python 简单的绘图工具turtle使用详解
Jun 21 Python
基于Python和Scikit-Learn的机器学习探索
Oct 16 Python
python入门教程 python入门神图一张
Mar 05 Python
在python下读取并展示raw格式的图片实例
Jan 24 Python
Python深拷贝与浅拷贝用法实例分析
May 05 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
pycharm通过ssh连接远程服务器教程
Feb 12 Python
关于keras.layers.Conv1D的kernel_size参数使用介绍
May 22 Python
Python常用数字处理基本操作汇总
Sep 10 Python
Opencv 图片的OCR识别的实战示例
Mar 02 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
Ajax+PHP 边学边练之四 表单
2009/11/27 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
jQueryPad 实用的jQuery测试工具(支持IE,chrome,FF)
2010/05/22 Javascript
javascript 兼容所有浏览器的DOM扩展功能
2012/08/01 Javascript
浅谈nodeName,nodeValue,nodeType,typeof 的区别
2015/01/13 Javascript
个人总结的一些JavaScript技巧、实用函数、简洁方法、编程细节
2015/06/10 Javascript
JS实现三个层重叠点击互相切换的方法
2015/10/06 Javascript
JavaScript实现垂直滚动条效果
2017/01/18 Javascript
jQuery Ajax全解析
2017/02/13 Javascript
jQuery自动或手动图片切换效果
2017/10/11 jQuery
使用vue + less 实现简单换肤功能的示例
2018/02/21 Javascript
vue form check 表单验证的实现代码
2018/12/09 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
2019/10/16 jQuery
python动态参数用法实例分析
2015/05/25 Python
Python 专题一 函数的基础知识
2017/03/16 Python
Python实现按逗号分隔列表的方法
2018/10/23 Python
对python以16进制打印字节数组的方法详解
2019/01/24 Python
Python实现对特定列表进行从小到大排序操作示例
2019/02/11 Python
python3使用print打印带颜色的字符串代码实例
2019/08/22 Python
Python 随机生成测试数据的模块:faker基本使用方法详解
2020/04/09 Python
Python 炫技操作之合并字典的七种方法
2020/04/10 Python
浅谈Python中的模块
2020/06/10 Python
分享PyCharm最新激活码(真永久激活方法)不用每月找安装参数或最新激活码了
2020/12/27 Python
CSS3轻松实现圆角效果
2017/11/09 HTML / CSS
纯css实现照片墙3D效果的示例代码
2017/11/13 HTML / CSS
用C#语言写出在本地创建一个UDP接收端口的具体过程
2016/02/22 面试题
大家检讨书5000字
2014/02/03 职场文书
面试自我介绍演讲稿
2014/04/29 职场文书
小学优秀辅导员事迹材料
2014/05/11 职场文书
试用期转正员工自我评价
2014/09/18 职场文书
2015年新教师工作总结
2015/04/28 职场文书
机关干部纪律作风整顿心得体会
2016/01/23 职场文书
如何使用pdb进行Python调试
2021/06/30 Python
Vue组件更新数据v-model不生效的解决
2022/04/02 Vue.js
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL