python基础(str,list,tuple)

2018-02-20 19:38:32来源:cnblogs.com作者:sunlizhao人点击

分享

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不能变,但是里面的内容是可以更改的                         

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台