python中(str,list,tuple)基础知识汇总
Python  /  管理员 发布于 7年前   257
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] = ett[1] = fprint(tt)
不是说不能变吗? 现在为什么又可以变了呢!
tuple的不变是指向不变,指向的list不能变,但是里面的内容是可以更改的
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号