2-1.Python基础学习笔记day02-标识符、数据类型及运算符

Python基础学习笔记day02-标识符、数据类型及运算符-1

一、基本输入与输出:

#输出语句

# 字符串前面加r,表示的意思是禁止字符串转义
print("asfdas\n")  # asfdas
print("asfdas\\n")  # asfdas\n
print("asfdas\n")   # asfdas
print(r"asfdas\n")  # asfdas\n

str1 = "I love china"
print("str2=", str2) # str2= I love china ',' 有空格
print("str2="+str2)  # str2=I love china '+' 无空格

# 格式化输出
'''
%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))  #    30:   20
print("%05d:%05d"%(30,20))  # 00030:00020
print("%5d:%5d"%(1234567,20))  # 1234567:   20
print("%-5d:%-5d"%(30,20))  # 30   :20
print("%6.4d"%(312)) #  0312
print("%.3f"%3.1)  # 3.100
# 多行输出
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
2str字符串类型
定义:使用单引号或者双引号括起来的任意文本,我们称之为字符串。
3bool【布尔】类型
取值只有两个TrueFalse
4None空值
在python中None表示的是空值,空值是一个特殊的值与0并不相同
5list列表
本质:是一个有序的集合
6tuple元组
本质:是一个有序集合,一旦初始化则不能修改
7dict字典
使用键值对的方式来进行存储,key-value的形式来进行存储
特点:具有极快的查询速度
8set集合
具有去重的功能
1、number数字类型:
num = 43
fnum = 10.33
num2= 1 + 3j

print(num)  # 43
print(fnum)  # 10.33
print(num2) # (1+3j)
print(float(num)) # 43.0
print(int(fnum))  # 10

type(var) : # 查看变量的类型
id(var) : # 查看变量的内存地址
print(type(num)) # 
num = '123abc'
print(num)  # 123abc
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))  # 12
print(max(12, 2, 34, 55, 32))  # 55
print(min(12, 2, 34, 55, 32))  # 2
print(pow(2, 3))  # 8
print(round(10.5)) # 10
print(round(11.5)) # 12
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))  # 13
print(math.ceil(12.01))  # 13
print(math.ceil(12.98))  # 13

print(math.floor(12.34))  # 12
print(math.floor(12.01))  # 12
print(math.floor(12.98))  # 12

print(math.modf(12.34))  # (0.33999999999999986, 12.0)
print(math.modf(12.01))  # (0.009999999999999787, 12.0)
print(math.modf(12.98))  # (0.9800000000000004, 12.0)

print(math.sqrt(9))  # 3.0
print(math.sqrt(16))  # 4.0
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)  # helloworld
print(str1, str2)  # hello world
print("%s %s"%(str1, str2))  # hello world
print("{} good {}".format(str1, str2))  # hello good world
list1 = ["hello", "good", "nice"]
print("**".join(list1))  # hello**good**nice



'''
三、访问字符串中的字符:
        使用索引【下标】的方式实现
        str1[index]
        index索引值/下标值 取值范围[0,len(str1))
        索引值/下标值 从0开始数
        索引值还可以为负,可以从-1开始,-1代表倒数第一个字符
'''
str1 = "I love china"

#访问字符串中的字符
print(str1[-1]) # a

'''
四、字符串的截取
        str1[start:stop:step]
        参数一:从start开始取 默认0
        参数二:到stop结束, stop取不到,默认len(str1)
        参数三:步长  默认1 可以为负
'''
str1 = "I love china"
# 截取指定字符子串
str2 = str1[7:15]
print("str2="+str2)  # str2=china

# 从头截取到指定位置字符子串
str2 = str1[:15]
print("str2="+str2)  # str2=I love china

# 从某位置到结尾截取字符子串
str2 = str1[5:]
print("str2="+str2)  # str2=e china

# 判断字符子串是否在字符串中
print("good" in str1)  # False

print(str1[0:3:2])  # Il
print(str1[::])  # I love china
print(str1[:])  # I love china

str2 = str1[:]
print(str2 == str1)  # True
print(id(str1))  # 43192624
print(id(str2))  # 43192624


str3 = str1
print(str3 == str1)   # True
print(id(str1))  # 43192624
print(id(str3))  # 43192624


print(str2[::-1])  # anihc evol I
print(str2[:3:-1])  # anihc ev
print(str2[3::-1])  # ol I


'''
五、字符串的常用函数
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"))  # 15
print(type(eval("12+3")))  # 

print(eval("[1,2,3,4]"))  # [1, 2, 3, 4]
print(type(eval("[1,2,3,4]")))  # 

print(str(list1))  # [1, 1, 2]
print(type(str(list1)))  # 

print(str1.center(50,"*"))  # ******************hEllo   wOrld*******************
print(str1.ljust(50,"*"))  # hEllo   wOrld*************************************
print(str1.rjust(50,"*"))  # *************************************hEllo   wOrld
print(str1.zfill(50))  # 0000000000000000000000000000000000000hEllo   wOrld
print(len(str1))  # 13
print(str1.lower())  # hello   world
print(str1.upper())  # HELLO   WORLD
print(str1.swapcase())  # HeLLO   WoRLD
print(str1.capitalize())  # Hello   world
print(str1.title())  #   Hello   World


'''
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))  # 1
print(str1.find("nice1"))  # -1
print(str1.rfind("nice"))  # 57
print(str1.find("nice",5,-1)) # 17
print(str1.index("nice"))  # 17
print(str1.rindex("nice"))  # 57

print(str1.strip("*"))  # today is a nice day,today is a good day,today is a nice day
print(str1.lstrip("*"))  # today is a nice day,today is a good day,today is a nice day*******
print(str1.rstrip("*"))  # ******today is a nice day,today is a good day,today is a nice day

print(str1.split("day", maxsplit=2))  # ['******to', ' is a nice ', ',today is a good day,today is a nice day*******']
print(str1.rsplit("day", maxsplit=1))  # ['******today is a nice day,today is a good day,today is a nice ', '*******']
'''
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())
# ['10', '50', '1', '900', '2147483647']

print(" ".join(["you","are","a","good","man"])) # you are a good man
print(max("hello"))  # o
print(min("hello"))  # e
print("you are a nice man nice nice".replace("nice", "good")) # you are a good man good good
print("you are a nice man nice nice".startswith("you"))  # True
print("you are a nice man nice nice".endswith("nice"))   # True
str5 = "you are a nice man nice nice".encode("utf-8") 
print(str5)  # b'you are a nice man nice nice'
print(str5.decode("utf-8"))  # you are a nice man nice nice

'''
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())  # False
print(str2.isalpha())  # True
print(str3.isalpha())  # False
print(str4.isalpha())  # False
print()
print(str1.isalnum())  # False
print(str2.isalnum())  # True
print(str3.isalnum())  # False
print(str4.isalnum())  # True
print()
print(str1.isupper())  # False
print(str2.isupper())  # False
print(str3.isupper())  # True
print(str4.isupper())  # False
print()
print(str1.islower())  # False
print(str2.islower())  # True
print(str3.islower())  # False
print(str4.islower())  # False
print()
print(str1.istitle())  # False
print(str2.istitle())  # False
print(str3.istitle())  # False
print(str4.istitle())  # True
print()
print("".isspace())   # False
print(" ".isspace())  # True
print("\t".isspace())  # True
print("\n".isspace())  # True
print("\r".isspace())  # True
print("\f\r".isspace())  # True

你可能感兴趣的:(Python)