python学习第三天

day03-关系运算符,逻辑运算符,字符串

笔记仅供参考,不喜勿喷


知识点1
    关系运算符(比较运算符)
符号
>  大于
<  小于
>=  大于等于
<=  小于等于
==  等于,判断两个数是否相等
!=  不等于




格式:表达式1 关系运算符 表达式2


关系的值:   关系成立  得到结果True
             关系不成立,得到结果False




例子:


sex = "男"
if sex == "男"
print("True")


print(sex == "男")      结果True




age = 20 
print(age != 20)








知识点2 逻辑运算符
符号:and 逻辑    与(且)
       or 逻辑    或
















下午知识点7


字符串及操作


数据类型:


字符串,在python中用''单引号或者""双引号包裹起来的内容


name = "wen"
age  = "18"
sex  = "纯爷们"


拼接操作
字符串可以使用+ 来拼接两个字符串


"wen" is 纯爷们"


strDate = "wen" + "是一个" + sex
strDate = "小俊俊" + "是一个" + sex


注意字符串形式的数据不能与数字类型的数据直接拼接


steDate = "wen" + "的年龄是:" + age


steDate = "wen" + "的年龄是:" + str(age)




print(staDate)


乘法操作*


python的字符串可以进行乘法操作


staDate2 = "wen is a" + "very"*10 + "good man"
print(strDate2)






字符串的截取


strDate = "温 is a nice man!温"


提取字符串中的一个字符,
位置,下标,索引
格式:字符串名[索引值]
表示提取字符串中索引值对应位置的单个字符
索引是从0开始


str1 = strDate[0]
print(str1)


str2 = strDate[2]   得出i
空格也算一个位置字符


索引可以写负值,表示从字符串的最右侧开始数




str1 = strDate[-1]     得出温






字符串的格式化


print("name:" + "")




name = "wen"


age = 18


height = 1.88888


字符串的格式化
%s 替代一个可变的字符串
%d 替代一个可变的数字
%f 替代一个可变的浮点数
  
精确到几位数%.数值f
表示保留多少位小数






print("name:%s,age:%d,height:%.3f"%(name,age,height))




知识点9 


 字符串的转义字符


\n 表示字符串的换行 或者三个引号注释下


print("人生自古谁无死,\n那个拉屎不用纸")


print("""
人生自古谁无死
那个拉屎不用纸
""")


\u 
\\ 表示 \ 反斜杠


strDate = "news\\ball"
print(strDate)              打印出是一个反斜杠






strDate2 = "news/ball"
print(strDate2)


strDate3 = "wen is a "good" man "
strDate3 = 'wen is a "good" man'    可以打印出双引号
反过来也可以,单引号跟双引号套用,一般外单内双


strDate3 = "wen is a \"good\" man "


\" 表示字符串中的引号"


\' 表示字符串中的引号'




\t 表示Tab键


strDate4 = "人生自古谁无死,\n\t留取丹心照汗青"




print(strDate)






路径: I:\sz1704\day04\video


windows操作系统:路径都是以 \ 反斜杠来连接


linux操作系统:路径是正斜杠 / 来连接


pathFile = " I:\sz1704\day04\video"




pathFile = " I:\\sz1704\\day04\\video"这个才是路径


在python中如果一个字符串中用到了大量的\转义字符,
我们又不想让它进行转义操作,可以在字符串前加 r 来解决


pathFile = r" I:\sz1704\day04\video"


print(pathFile)




\r 表示回车








知识点10   
  
  if语句


格式1:








格式2:




例子:
res = input("是否VIP(Y/N)")
if res == "Y":
print("请走VIP通道")
print("上飞机")




例子:
res = input("你看我头像牛B吗(像/不像)")
if res == "像":
print("像")
else:
print("不像")
print("........")




格式3:例子


方式一


需求:根据年龄来区分是 少年,青年,中年,老年
if age < 0:
print("您输入的不是人的年龄")


age = int(input("请输入您的年龄"))


if age > 0 and <= 6:
print("儿童")
elif age <= 17:
        print("少年")
elif age <= 40:
print("青年")
elif age <= 65:
print("中年")
elif age <=100:
print("老年")
else:
print("老妖怪")


方式二


age = int(input("请输入您的年龄"))


if age > 0 and <= 6:
print("儿童")
if age > 6 and  <= 17:
        print("少年")
if age >17 and <= 40:
print("青年")
if age >40 and <= 65:
print("中年")
if age >65 and <=100
print("老年")




格式三
if 判断表达式1:
语句1
elif 判断表达式2:
语句2
........
else:
语句n      
 (else可写可不写,写了表示除else以上所有情况外)






格式四:if嵌套


案例:


sex = input("您的性别是:")
if sex == "女":
color = input("你白吗:")
money = int(input("你有钱吗"))
isBeautiful = input("你美吗:")
if color == "白" or money >= 10000 or isBeautiful== Y
print("你是一个好人")
        if color == "白" and money >= 10000 and isBeautiful== Y
print("晚上那里吃饭")




else:
print("滚,我是纯爷们")
































    




































































































































































































































































strl = strDate[20]   


注意:IndexError: string index out of range 角标越界异常


获取字符串的长度


length = len(strDate)






print(length)  得出17  这个是1开始数的,索引是从0开始数


能取到的索引的最大值 = 长度 - 1


strl = strDate[len(len(strDate) - 1)]


print(strl)








截取一定范围的字符串
格式:字符串名[start:stop]
     截取字符串中start位置到stop位置之间的字符串
     start表示起始位值,包含
     stop表示结束位置,不包含






name = strDate[0:3] 得出温先生




name = strDate[4:6]  得出is
print(name)




[star:stop] start可以省略不写,不写表示默认从0开始
            stop 也可以忽略不写,不写则表示一直截取到末尾


strdate = strDate[:6]


strdate = strDate[7:]


strdate = strDate[-3:-1]


strdate = strDate[-1:-6]   得出没有
start位置索引要在stop表示的位置前面




print(strdate)






逆序


格式:字符串名[start:stop:step]
step表示步长,-1表示倒着数,默认是1




newdate = strDate[::-1]


newdate = strDate[::-2]


print(newdate)




























































 










































































































       not逻辑    非


格式 表达式1 and 表达式2 and(or/and 表达式.....)
 值:如果表达式1为真,表达式2为真      结果为真
     如果表达式1为真,表达式2为假      结果为假
     如果表达式1为假,表达式2为真      结果为假
     如果表达式1为假,表达式2为假      结果为假




只要有一个假的,结果就为假


例子:
     age=19
     
     if age <=20 and age >= 18:
print("True")


     age=19
     sex=男
     if age <=20 and sex == "女" >= 18:
print("True")


短路原则  
如果表达式1的结果为假的 ,结果已经判定为假,
则and后的表达式2不执行




符号: or 逻辑 或(or/and 表达式.....)
表达式1 or 表达式2


只要有一个真的,结果就为真
也遵循短路原则






符号: not 逻辑非
格式:not 表达式  
值:如果表达式为真的,结果为假
   如果表达式为假的,结果为真


归纳:颠倒黑白


通常用来排除某范围外的值




例子
sex = "男"
if not sex == "男":
print("False")






知识点3 成员运算符


符号: in     判断一个数值是否在一个指定序列中,
             如果在,返回True
      not in 判断一个数值是否不在一个指定序列中,
             如果不在,返回True


格式: 数值 in 指定的序列


例子:
names = ["马蓉""白百合""芙蓉姐姐""凤姐""赵薇"]
girlFriendName = "赵薇"


if grilFriendName in names:
print("True")
else:
print("False")


if girlFriendName not in name
print("True")
else:
print("False")










知识点4 身份运算符


符号:  is
       not is


格式: 变量1 is 变量2


判断变量1与变量2的内存地址是否一致


== 是判断变量1与变量2的数值是否相等
num1 = 1
num2 = 2
if num1 == num2:
print("True")
else:
print("False")








list1 = [1,2,3,4]
list2 = [1,2,3,4]


if list1 == list2:
print("True")
else:
print("False")   结果为T








num1 = 1
num2 = 2
if num1 is num2:
print("True")
else:
print("False")   结果为T








list1 = [1,2,3,4]
list2 = [1,2,3,4]


if list1 is list2:
print("True")
else:
print("False")   结果为F












身份就是内存地址
查看变量的内存地址
格式:id(变量名)
内存地址是系统自动分配的


num3 = 2
list3 = list1


print(id(num1))
print(id(num2))
print(id(num3))
print(id(list1))
print(id(list1))
print(id(list3))




数字


不可变类型
num1 = 1,num = 1,定义num2的时候,会先检测内存中是否存在该值.


如果不存在会开辟新的空间,并把值存进来,将内存地址返回给该变量名


如果存在,会直接指向该值的内存地址




可变类型:list,dict


除此之外都是不可变    **


list1 = [1,2,3,4]


list2 = [1,2,3,4]  


即使值一样定义了新的list时,开辟新的内存空间




内存地址0x232a等等 以16进制来表现的


list由变量名来决定内存地址




运算符的综合执行顺序


加括号就好,








知识点5


布尔值与空值




布尔值 
 
数据类型: boolean 布尔值,只有2个值,
一个值为True 表示真    
一个值为False表示假


何为真:不是假的就是真的
何为假:0,(空)"",None,False,[]
非0即为真,非空即为真






特殊的数据类型:None不占内存空间  
               空, 
               0也占空间








if :
print("True")
else:
print("False")






num1 = 1
num2 = None
num3 = 1 + num1 可执行
print(num3)






num1 = 1
num2 = None
num3 = 1 + num2
print(num3)      会报错
print(type(num2))  可执行不过啥都没
















































      


猜你喜欢

转载自blog.csdn.net/jiangwei1102/article/details/79055551