Python基础学习笔记day02-标识符、数据类型及运算符-1
一、基本输入与输出:
print("asfdas\n")
print("asfdas\\n")
print("asfdas\n")
print(r"asfdas\n")
str1 = "I love china"
print("str2=", str2)
print("str2="+str2)
'''
%s 输出字符串
%d 输出整型
%nd 输出宽度为n的整型,右对齐
%0nd 输出宽度为n的整型,不够的时候使用0补齐
%-nd 输出宽度为n的整型,左对齐
%n.md 输出宽度为n,有效数字为m位的整型,右对齐
%f 输出浮点型
%.nf 输出保留n为小数的浮点型,n=0,不保留小数
'''
print("num=%d, fnum=%.3f, str1=%s,%s" % (num, fnum, str1, str2))
print("%5d:%5d"%(30,20))
print("%05d:%05d"%(30,20))
print("%5d:%5d"%(1234567,20))
print("%-5d:%-5d"%(30,20))
print("%6.4d"%(312))
print("%.3f"%3.1)
# 多行输出
print('''
apple
orange
good
''')
#输入语句
str1 = input("请输入你的名字:")
num1 = int(input("请输入一个三位的数字:"))
```
二、标识符:
1.标识符:
本质:就是一个字符串
作用:给变量,类,以及函数命名的
命名规则:
1》只能使用字母数字下划线组成
2》不能以数字开头
3》不能是python的关键字
['False', 'None', 'True', 'and', 'as', 'assert',
'break', 'class', 'continue', 'def', 'del', 'elif',
'else', 'except', 'finally', 'for', 'from', 'global',
'if', 'import', 'in', 'is', 'lambda', 'nonlocal',
'not', 'or', 'pass', 'raise', 'return', 'try', 'while',
'with', 'yield']
4》区分大小写
5》取名的时候要做到见名知意
6》避免使用函数名
import keyword
print(keyword.kwlist)
三、数据类型:
1、number数字类型
整型(整数):python可以处理任意大小的整数包括正整数与负整数
浮点型(小数):在python中表示浮点数的时候会存在一些误差
复数:a + bj
2、str字符串类型
定义:使用单引号或者双引号括起来的任意文本,我们称之为字符串。
3、bool【布尔】类型
取值只有两个True和False
4、None空值
在python中None表示的是空值,空值是一个特殊的值与0并不相同
5、list列表
本质:是一个有序的集合
6、tuple元组
本质:是一个有序集合,一旦初始化则不能修改
7、dict字典
使用键值对的方式来进行存储,key-value的形式来进行存储
特点:具有极快的查询速度
8、set集合
具有去重的功能
1、number数字类型:
num = 43
fnum = 10.33
num2= 1 + 3j
print(num)
print(fnum)
print(num2)
print(float(num))
print(int(fnum))
type(var) :
id(var) :
print(type(num))
num = '123abc'
print(num)
print(type(num))
常用函数:
int(x)
功能:将x转为int类型
float(x)
功能:将x转为浮点型
abs(x)
功能:返回x的绝对值
max(num1,num2,num3,...,numn)
功能:返回最大的num的值
min(num1,num2,num3,...,numn)
功能:返回最小的num值
pow(x,y)
功能:求x的y次方
round(x[,n])
功能:返回x的四舍五入值,若n不指定则不保留小数,若n指定则保留n位小数
在python3.x中遇到.5的时候自动向偶数靠拢
print(abs(-12))
print(max(12, 2, 34, 55, 32))
print(min(12, 2, 34, 55, 32))
print(pow(2, 3))
print(round(10.5))
print(round(11.5))
2、与数字类型相关的模块:
1)、math函数模块(数学函数)
import math
'''
math.ceil(x)
功能:对x进行向上取整
math.floor(x)
功能:对x向下取整
math.modf(x)
功能:返回x的小数部分与整数部分以元组的方式返回。
math.sqrt(x)
功能:返回x的开平方值(只返回正数的部分)
'''
print(math.ceil(12.34))
print(math.ceil(12.01))
print(math.ceil(12.98))
print(math.floor(12.34))
print(math.floor(12.01))
print(math.floor(12.98))
print(math.modf(12.34))
print(math.modf(12.01))
print(math.modf(12.98))
print(math.sqrt(9))
print(math.sqrt(16))
2)random模块
import random
'''
random.choice(序列)
序列:字符串,列表,元组
功能:从序列中随机挑选一个元素并且返回。
random.randrange([start,]stop[,step])
start:开始,若不写默认从0开始
stop:结束
取值范围[start,stop)
step:步长 默认为1
功能:随机的从[start,stop)以step为步长取一个数值
random.random()
功能:返回一个从[0,1)的浮点数
random.uniform(m,n)
功能:从[m,n]随机取一个浮点数并且返回。
random.shuffle(list1)
功能:将序列进行随机排列
'''
print(random.choice([1,2,3,4]))
print(random.choice((1,2,3,4)))
print(random.choice("hello"))
print(random.randrange(1,10,2))
print(random.random()*100)
'''
[10,80)的浮点数
'''
print(random.random()*70+10)
print(random.uniform(1,100))
list1 = [1, 2, 3, 4, 5, 6]
random.shuffle(list1)
print(list1)
print(random.choice(list1))
3、str字符串类型:
'''
一、字符串:
使用单引号或者双引号括起来的任意字符串,我们都可以称它为字符串。
字符串的创建:
字符串不可变
str1 = "hello"
str2 = 'world'
'''
str1 = "hello"
str2 = 'world'
str1[2]='c'
'''
二、字符串的拼接:
1.使用"+"来进行拼接
str3 = str1+str2
注意:不同类型不能使用加号来进行拼接
2.使用","来进行拼接
print(str1,str2)
注意:会在逗号的位置产生一个空格
3.使用"%"来进行拼接,使用格式化的方式
print("%s%s"%(str1,str2))
4.使用"{},{}".format()来进行拼接
5.使用join函数来进行拼接
"".join(序列)
注意:序列中的元素必须是字符串
'''
print(str1+str2)
print(str1, str2)
print("%s %s"%(str1, str2))
print("{} good {}".format(str1, str2))
list1 = ["hello", "good", "nice"]
print("**".join(list1))
'''
三、访问字符串中的字符:
使用索引【下标】的方式实现
str1[index]
index索引值/下标值 取值范围[0,len(str1))
索引值/下标值 从0开始数
索引值还可以为负,可以从-1开始,-1代表倒数第一个字符
'''
str1 = "I love china"
print(str1[-1])
'''
四、字符串的截取
str1[start:stop:step]
参数一:从start开始取 默认0
参数二:到stop结束, stop取不到,默认len(str1)
参数三:步长 默认1 可以为负
'''
str1 = "I love china"
str2 = str1[7:15]
print("str2="+str2)
str2 = str1[:15]
print("str2="+str2)
str2 = str1[5:]
print("str2="+str2)
print("good" in str1)
print(str1[0:3:2])
print(str1[::])
print(str1[:])
str2 = str1[:]
print(str2 == str1)
print(id(str1))
print(id(str2))
str3 = str1
print(str3 == str1)
print(id(str1))
print(id(str3))
print(str2[::-1])
print(str2[:3:-1])
print(str2[3::-1])
'''
五、字符串的常用函数
eval(str1)
功能:将str1转为一个有效的表达式并且返回计算的结果,相当于去掉字符串的双引号或单引号
str(x)
功能:可以将x【number,bool,list,tuple,set,dict】转为字符串
str1.lower()
功能:将字符串中大写字母转为小写字母,并且返回一个新的字符串
str1.upper()
功能:将字符串中的小写字母转为大写字母,并且返回一个新的字符串
str1.swapcase()
功能:将字符串中的大写字母转为小写字母,将小写字母转为大写字母
并且返回一个新的字符串
str1.capitalize()
功能:返回一个首字母大写其他字母都小写的字符串。
str1.title()
功能:返回一个标题化的字符,每个单词的首字母都大写,其他字母小写。
str1.center(width,fillchar)
功能:返回一个以width为宽度,str1居中的,使用fillchar填充的字符串。
str1.ljust(width,fillchar)
功能:返回一个以width为宽度,str1居左的,使用fillchar填充的字符串。
str1.rjust(width,fillchar)
功能:返回一个以width为宽度,str1居右的,使用fillchar填充的字符串。
str1.zfill(width)
功能:返回一个以width为宽度,str1居右的,使用0填充的字符串。
'''
print(eval("12+3"))
print(type(eval("12+3")))
print(eval("[1,2,3,4]"))
print(type(eval("[1,2,3,4]")))
print(str(list1))
print(type(str(list1)))
print(str1.center(50,"*"))
print(str1.ljust(50,"*"))
print(str1.rjust(50,"*"))
print(str1.zfill(50))
print(len(str1))
print(str1.lower())
print(str1.upper())
print(str1.swapcase())
print(str1.capitalize())
print(str1.title())
'''
str1.count(sub,start,end)
功能:统计sub在str1中出现的次数,若不指定start与end则默认统计整个字符串
若指定start与end,则统计的范围[start,end)
str1.find(sub,start,end)
功能:从左往右在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.rfind(sub,start,end)
功能:从右往左在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则返回-1
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.index(sub,start,end)
功能:从左往右在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则报错
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.rindex(sub,start,end)
功能:从右往左在str1中查找sub是否存在,若存在则返回第一匹配到的下标值,若不存在则报错
注意:若指定start与end,则在[start,end)范围内查询,若不指定则查询整个字符串。
str1.strip(chars)
功能:去除str1左右两边的指定chars,若chars不给,默认去除空白符[\r\n\f\t ]
str1.lstrip(chars)
功能:去除str1左边的指定chars,若chars不给,默认去除空白符[\r\n\f\t ]
str1.rstrip(chars)
功能:去除str1右边的指定chars,若chars不给,默认去除空白符[\r\n\f\t ]
str1.split(seq,maxsplit)
功能:从左往右使用指定的seq对str1进行切割处理,若不指定seq则默认使用空白符来进行切分,
若不指定maxsplit默认全部切分。切分的结果以列表的形式返回。
str1.rsplit(seq,maxsplit)
功能:从右往左使用指定的seq对str1进行切割处理,若不指定seq则默认使用空白符来进行切分,
若不指定maxsplit默认全部切分。切分的结果以列表的形式返回。
'''
str1 = "******today is a nice day,today is a good day,today is a nice day*******"
print(str1.count("day",0,19))
print(str1.find("nice1"))
print(str1.rfind("nice"))
print(str1.find("nice",5,-1))
print(str1.index("nice"))
print(str1.rindex("nice"))
print(str1.strip("*"))
print(str1.lstrip("*"))
print(str1.rstrip("*"))
print(str1.split("day", maxsplit=2))
print(str1.rsplit("day", maxsplit=1))
'''
str1.splitlines(keepend=False)
功能:将str1按行切片,并且将切片的结果作为一个列表返回。keepend默认为False,
当keepend为True的时候,显示切片的字符【\n】
str2.join(序列)
功能:将序列中的字符串以指定的str2进行拼接,并将拼接好的字符串返回。
min(str1)
功能:返回str1中的最小字符【比较的是ASCII码值】
max(str1)
功能:返回str1中的最大字符
str1.replace(old,new,count)
参数一:被替换的字符串
参数二:新的字符串
参数三:替换的次数,若不指定默认全部替换
功能:使用new将str1中old字符串进行替换,若指定count则替换前count个,
若不指定count,则全部替换。
判断字符串是否以xx开头
str1.startswith("xx"[,start][,end])
若是以xx开头则返回True,否则返回False,若指定范围,则取值范围为[start,end),
若不指定范围,则默认整个字符串
判断字符串是否以xx结尾
str1.endswith("xx")
若是以xx结尾则返回True,否则返回False,若指定范围,则取值范围为[start,end),
若不指定范围,则默认整个字符串
将普通字符串转为二进制
str1.encode()
将二进制字符串转为普通字符串
str2.decode()
注意:编码的格式与解码的格式必须保持一致
'''
str1='''10
50
1
900
2147483647
'''
print(str1.splitlines())
print(" ".join(["you","are","a","good","man"]))
print(max("hello"))
print(min("hello"))
print("you are a nice man nice nice".replace("nice", "good"))
print("you are a nice man nice nice".startswith("you"))
print("you are a nice man nice nice".endswith("nice"))
str5 = "you are a nice man nice nice".encode("utf-8")
print(str5)
print(str5.decode("utf-8"))
'''
str1.isalpha()
功能:判断str1是否为纯字母,若是则返回True,否则返回False。
注意:此功能没有考虑中文,中文默认也是字母
str1.isalnum()
功能:判断str1是否由数字与字母组成,若是则返回True,否则返回False。
注意:此功能没有考虑中文,中文默认也是字母
str1.isupper()
功能:判断str1中出现的字母是否全部为大写,若是则返回True,否则返回False
str1.islower()
功能:判断str1中出现的字母是否全部为小写,若是则返回True,否则返回False
str1.istitle()
功能:判断str1是否为标题化的字符串,若是则返回True,否则返回False
str1.isspace()
功能:判断str1中是否只包含空白符,若是则返回True,否则返回False。
str1.isdigit():只能识别阿拉伯数字
str1.isdecimal():只能识别阿拉伯数字
str1.isnumeric():除了阿拉伯数字还可以识别中文的一二三
'''
str1 = "hEllo "
str2 = "hello中国"
str3 = "HELLO I"
str4 = "Hello11"
print(str1.isalpha())
print(str2.isalpha())
print(str3.isalpha())
print(str4.isalpha())
print()
print(str1.isalnum())
print(str2.isalnum())
print(str3.isalnum())
print(str4.isalnum())
print()
print(str1.isupper())
print(str2.isupper())
print(str3.isupper())
print(str4.isupper())
print()
print(str1.islower())
print(str2.islower())
print(str3.islower())
print(str4.islower())
print()
print(str1.istitle())
print(str2.istitle())
print(str3.istitle())
print(str4.istitle())
print()
print("".isspace())
print(" ".isspace())
print("\t".isspace())
print("\n".isspace())
print("\r".isspace())
print("\f\r".isspace())