1.Python的字符串操作
1.字符串的输入
-----input输入的默认是字符串类型的,不能直接和int型的比较,的使用int()函数强制转换
username=input("请输入用户名:")
print("用户名:%s"%(username))
2.下表和切片
----下标:就是编号(编号从0开始)
获取数组的元素的时候,下标为-1代表最后一个元素,-2代表倒数第二个,依次类推
str="abcdefg"
print(str[0])
print(str[1])
print(str[2])
print(str[-1])
----切片:对操作的对象截取其中的一部分。字符串,列表,元祖都支持切片操作
str1[2:4]为左闭右开型,也是从0开始计算
str1="abcdefg"
print(str1[2:4])
3.find方法检查字符是否包含在字符串中,返回开始的索引值,否则返回-1
-----语法格式:mystr.find(str, start=0, end=len(mystr))
str="abcdef"
print(str.find("b",0,len(str)))
4.index和find方法一样,但是chazhao不存在的字符的时候不会报错,find会报错
------语法格式:mystr.index(str, start=0, end=len(mystr))
str="abcdef"
print(str.index("b",0,len(str)))
5.count方法,返回字符串在开始到结束出现的次数
-------语法格式:mystr.count(str, start=0, end=len(mystr))
str="hello"
print(str.count("l",0,len(str)))
6,replace方法,把字符串的str1换成str2,如果指定count,替换不操过count次
-------语法格式:mystr.replace(str1, str2, mystr.count(str1))
str="hello"
print(str.replace("l", "q",str.count("l")))
7.split方法,以str为分隔符切片mystr,如果maxsplit右指定的值,则仅仅分割maxsplit个字符串
------语法格式:mystr.split(str=" ", 2)
str="i love my county"
print(str.split(" ",2))
8.capitalize方法,把字符串的第一个字符大写
-------语法格式:mystr.capitalize()
str="hello"
print(str.capitalize())
9.title方法,把字符串的每个单词的首字母大写
------语法格式:mystr.title()
str="i love my city"
print(str.title())
10.startwith方法和endwith方法,检查字符串是否已obj开头和结尾
-------基本语法:mystr.startswith(obj) mystr.endswith(obj)
str="i love you"
print(str.startswith("i"))
print(str.endswith("you"))
11.lower方法转化(字符串的所有大写字符为小写),upper方法(转化所有小写的字符为大写)
-------基本语法:mystr.lower() mystr.upper()
str="hello"
str1="HELLO"
print(str.upper())
print(str1.lower())
12,ljust方法和rjust方法,center方法,返回一个字符串分别左对齐,右对齐和居中,剩下的用空格填充
-------基本语法:mystr.ljust(width) mystr.rjust(width)
str="hello"
print(str.ljust(10))
print(str.rjust(10))
print(str.center(20))
13 lstrip方法rstrip方法和strip方法,分别为删除左边空格,右边空格和两端空格
------基本语法:mystr.lstrip() mystr.rstrip() mystr.strip()
str=" hello "
print(str.lstrip())
print(str.rstrip())
print(str.strip())
14.rfind方法和rindex方法,类似于find和index方法,但是都是从右边来时查找
------基本语法:mystr.rfind(str, start=0,end=len(mystr) ) mystr.rindex( str, start=0,end=len(mystr))
str="abcdef"
print(str.rfind("e",0,len(str)))
print(str.rindex("e",0,len(str)))
15.partition方法和rpartition方法,把mystr以str分割成三部分,str前,str,和str后
-----基本语法:mystr.partition(str) mystr.rpartition(str)
str="hello"
print(str.partition("l"))
print(str.rpartition("l"))
16.splitlines方法,按照行分隔符,返回一个包含各行作为元素的列表
------基本语法:mystr.splitlines()
str="hello\nworld"
print(str.splitlines())
17.isalpha方法,isdigit方法,isalnum方法和isspace方法,来判断所有都是字符,数字,字符或者数字,空格
------基本语法:mystr.splitlines() mystr.isalpha() mystr.isdigit() mystr.isalnum() mystr.isspace()
str="hello"
print(str.isalpha())
print(str.isdigit())
print(str.isalnum())
print(str.isspace())
18.join方法,mystr中每个字符后面插入str,构造出一个新的字符串
------基本语法:mystr.join(str)
str=" "
mystr=["my","name","is","father"]
print(str.join(mystr))
2.python的列表
1.列表的格式,打印
names=["a","b","c","d"]
print(names)
print(names[0])
2.使用for循环遍历
names=["a","b","c","d"]
for name in names:
print(name)
3.使用while循环
names=["a","b","c","d"]
i=0
while i<len(names):
print(names[i])
i+=1
4.列表的相关操作(增加元素)
-----append方法,在结尾添加元素
-----extnd方法,将另一个集合中的元素逐一添加到列表中
-----insert方法,在指定位置index前插入元素object
name=["zhangsan"]
name2="lisi"
name3=["a","b","c"]
name.append(name2)
print(name)
name.extend(name3)
print(name)
name.insert(1,"d")
print(name)
5.列表的相关操作(更改元素)
-----要通过下标来确定修改的元素,然后才能进行修改
names=["zs","li","zl"]
names[2]="qqq"
print(names)
6.列表的相关操作(查找元素)
-------In,not in
-------index方法和count方法,这些方法和字符串的相同使用规则
7.列表的相关操作(删除元素)
------del方法,根据下标进行删除
----remove方法,根据元素的值进行删除
----pop方法,删除最后一个元素
names=["zs","li","zl"]
del names[0]
print(names)
names.pop()
print(names)
names.remove("li")
print(names)
8.列表的嵌入
naems=["zs",["a","b"]]
3.排序
1.sort方法是将list按照特定的序列重新排序,默认从小到大,参数reverse=True,可改为倒序,由大到小
2.reverse方法是将list逆置
a=[1,2,4,6,2]
a.reverse()
print(a)
a.sort(reverse=False)
print(a)
4.元组
-----python的元组和列表相似。不同之处在于元组的元素不能修改,元组使用小括号,列表使用中括号
5.python中的字典
1.字典相当于java中的key——value的键值对,里面存放的是键值对
dic1={"name":"tina","age":22,"marks":99,"address":"zzu"}
(1) 解释:在dic1变量中,在冒号前的是key值,在冒号后面的是value值
(2)字典的操作方法(获取操作)
-----获取key对应的value值(若访问不存在的key的话会报错)
# 第一种方法当key不存在的时候不会报错,但是第二种方式会报错,所以一般使用get方法
print(dic1.get("age"))
print(dic1["name"])
-----获取key对应的value值得话还可以使用get方法,如果没有key也不会报错
(3)字典的操作方法(修改操作)
-------通过key获取到元素以后,直接使用=赋值修改
info={"name":"市长","id":1,"sex":"n","address":"河南郑州"}
info["name"]="省长"
print(info)
(4)字典的操作方法(添加操作)
-------直接将新的key-value对赋值到字典
info["number"]=110
print(info)
(5)字典的操作方法(删除操作)
-----del,删除指定元素,或者整个字典
# 删除单个元素
del info["number"]
print(info)
# 删除整个字典
del info
print()
-----clear方法,清空这个歌字典
info.clear()
print(info)
(6)字典的其他操作方法
-------len方法,输出字典里面的键值对数
------keys方法,返回字典中key值得列表
-----values方法,返回字典中所有value值得列表
-----items方法,但会包含所有键值对的元素列表
info={"name":"市长","id":1,"sex":"n","address":"河南郑州"}
print(len(info))
print(info.keys())
print(info.values())
print(info.items())
(7)字典的遍历操作
----for.......in.....遍历
info={"name":"市长","id":1,"sex":"n","address":"河南郑州"}
# 遍历字典的key值
for key in info.keys():
print(key)
# 遍历字典的value值
for value in info.values():
print(value)
# 遍历字典的项(元素)
for a in info.items():
print(a)
# 遍历字典的key-value键值对
for key,value in info.items():
print("key=%s,value,value=%s"%(key,value))
6.python的引用
1.在python中,值是靠引用来传递的,我们使用id()方法来判断
a=1
b=2
print(id(a))
print(id(b))
--------------------输出-----------------
1865837600
1865837632
2.可变类型和不可变类型
可变类型:list列表,dict字典
不可变类型:int,龙,bool,float,str,tuple(元组)
7.python的函数
1.函数概念:如果在开发程序时,需要某块代码多次,但是为了提高编写的效率以及代码的重用,所以把具有独立功能的代码块组织为一个小模块,这就是函数
2.局部变量:就是在函数内部定义的变量,不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用
3,.全局变量:如果一个变量,既能在一个函数中使用,也能在其他的函数中使用,这样的变量就是全局变量
总结1:
1、在函数外边定义的变量叫做全局变量
2、全局变量能够在所有的函数中进行访问
3、如果在函数中修改全局变量,那么就需要使用global进行声明,否则出错
4、如果全局变量的名字和局部变量的名字相同,那么使用的是局部变量的,小技巧强龙不压地头蛇
4.缺省函数:调用函数时,缺省参数的值如果没有传入,则被认为是默认值,带有默认值的参数一定要位于参数列表的最后面
5.不定长函数:加了星号(*)的变量args会存放所有未命名的变量参数,args为元组;而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典
6.匿名函数:用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。Lambda函数能接收任何数量的参数但只能返回一个表达式的值,匿名函数不能直接调用print,因为lambda需要一个表达式
7.自定义函数:一个函数到底有没有返回值,就看有没有return,因为只有return才可以返回数据,在开发中往往根据需求来设计函数需不需要返回值,函数中,可以有多个return语句,但是只要执行到一个return语句,那么就意味着这个函数的用完成,在调用函数时,如果需要把一些数据一起传递过去,被调用函数就需要用参数来接收,参数列表中变量的个数根据实际传递的数据的多少来确定
8.python的时间和日期
1,Python 提供了一个 time 和 calendar 模块可以用于格式化日期和时间。
2,时间间隔是以秒为单位的浮点小数
3,每个时间戳都以自从1970年1月1日午夜(历元)经过了多长时间来表示。