1、Python转义字符
# \t制表符 print("hello\t庹艾佳") # \n换行符 print("hello 庹艾佳\nhello 庹艾佳2号") #\\输出\ print("D:\\庹艾佳\\庹艾佳") # \” 输出“ print("庹艾佳:\"hello 庹艾佳2号\"") # 单引号同理。但是单引号也可以不写 print("hello \'庹艾佳\'") # \r回车 print("hello,\r庹艾佳")
2、变量
①格式化输出
name = "哈基庹" age = 99 school = "重庆工程学院" money = 19.3 print("个人信息:", name, age, school, money) # 格式化输出 展示基本用法,更多详细可看文档,只要是关于你输出格式的基本上都能涵盖 # %操作符格式化输出 %s-字符串类型(string) %d-整数类型(int) %.2f-浮点类型,.2的2表示显示小数点后几位,少了会补0 print("个人信息: %s %d %.2f %s" % (name,age,money,school)) # format()函数 #format中的变量数量可以大于{}数量,多了就不填充,但是少了就会报错 print("个人信息:{} {} {}".format(name,age,school)) # 推荐使用 f-string print(f"个人信息: {name} {age} {school} {money}")
以上输出为:
个人信息: 哈基庹 99 隆化中学 19.3 个人信息: 哈基庹 99 19.30 隆化中学 个人信息:哈基庹 99 隆化中学 个人信息: 哈基庹 99 隆化中学 19.3
②"+"使用
# +使用案例 两个字符串为拼接,两个数值类型为相加 name = "king" score = 50.8 print(score + 90) 140.8 print(name + "hi") kinghi print("100" + "98") 10098 print(34.4 + 99.2) 133.6
③数据类型
两个注意的点
-
python中的变量在使用前都必须赋值,变量赋值以后该变量才会被创建
-
我们所说的“类型”是变量所指的内存数据的类型,而不是说变量本身有类型
基本数据类型
整形 int
-
在python中,int可以表示很大的数 官方:the limit(4300 difits) for integer
-
python的整数有十六进制(加前缀0x),十进制,八进制(加前缀0o),二进制(加前缀0b)
# 十六进制 print(0x10) 16 #八进制 print(0o10) 8 #二进制 print(0b10) 2
浮点数 float
# 浮点数类型 n3 = 5.12 n4 = .512 #整数部分没有可以省略 n5 = 5.12e2 #科学计数法 表示5.12*10的二次方 n6 = 5.12E-2 #科学计数法 表示5.12*10的负二次方 print(n3) print(n4) print(n5) print(n6)
!浮点数计算后,存在精度损失,可以使用Decimal进行精度计算
print(8.1/3) #2.6999999999999997 # 如果使用了decimal类,需要导入Decimal from decimal import Decimal print(Decimal("8.1")/Decimal("3")) #2.7
布尔值 bool
-
布尔类型适于逻辑运算,一般用于程序流程控制
# 布尔类型 num1 = 100 num2 = 200 if num1 < num2: print("num1>num2") #表示把num1 > num2的结果赋值给result result = num1 > num2 print("result的类型:",type(result)) #result的类型: <class 'bool'>
-
bool类型只有两个值:true和false
-
bool类型可以和其他数据类型进行比较,比如数字、字符串等,在比较时会将True视为1,False视为0
b1 = False b2 = True print(b1 + 10) #10 print(b2 + 10) #11 # 结果是两者都正常输出 # 如果b1==0,就输出ok if b1 == 0: print("OK") # 如果b1==1,就输出hi if b2 == 1: print("hi")
-
非0即为真,也就是True,0不止表示数字0,就算是字符串不为null也算非0
字符串 string
-
可以用" "或者' '来引用
-
通过+可以连接字符串
-
python不支持单字符类型,也就是没有类似java中的char类型,在python中统一当作为字符串类型
-
用三个单引号'''内容''',或者三个双引号"""内容"""可以保证内容原封不动的输出,包括缩进,空格,特殊符号等
-
如果想转义符也原封不动的输出,可以在转义符前面加一个r,例如:str = r"jack\naaa",就会原封不动的输出
# 字符串类型 str1 = "jack" str2 = 'king' str3 = "a" str4 = """"forasdasd asdasda asdasdasd """ str5 = r"jack\naaa" print(str1) print(str2) print(str3) print(str4) print(str5)
jack king a "forasdasd asdasda asdasdasd jack\naaa
※字符串驻留机制(面试扩展)
-
什么是字符串驻留机制
python仅保存一份相同且不可变的字符串,不同的值被放在字符串的驻留池中,python的驻留机制对相同的字符串只保留拷贝一份,后续创建相同字符串时,不会开辟新空间,而是把该字符串的地址赋给新创建的变量
# 讲解字符串的驻留机制 str1 = "hello" str2 = "hello" str3 = "hello" # id()函数是,可以返回数据的内存地址 # 因为他们指向的内容是相同的,所以它不会去新开一个空间,而是指向第一次存放这个值的空间,这就是驻留机制 print("str1:",id(str1)) #str1: 1651359922352 print("str2:",id(str2)) #str2: 1651359922352 print("str3:",id(str3)) #str3: 1651359922352
-
驻留机制什么时候会触发
-
字符串是由26个英文字母大小写,0-9数字,"_"下划线组成
-
字符串长度为0或者1时
-
字符串在编译时进行驻留,而非运行时
-
[-5,256]的整数数字
#演示type()函数的使用 name = "哈基庹" age = 100 score = 19.77 gender = "女" is_pass = True print(type(name)) print(type(age)) print(type(score)) print(type(gender)) print(type(is_pass))
<class 'str'> <class 'int'> <class 'float'> <class 'str'> <class 'bool'>