美文网首页
Python学习总结【连载】(二)

Python学习总结【连载】(二)

作者: Juttachen_8e9d | 来源:发表于2018-06-15 11:54 被阅读27次

Python学习总结【连载】(二)

2018.06.13 Juttachen


概述

+ 06 运算符

  • 算数运算符
  • 比较运算符
  • 赋值运算符
  • 逻辑运算符
  • 运算符的优先级

+ 07 字符串

  • 概念
  • Unicode编码
  • Python 中Unicode编码与字符串的转换
  • 字符串的长度
  • 获取字符/子串
  • 字符串的运算符

+ 08 print函数的使用

  • print函数的普通用法
  • print函数的高级用法

+ 09 字符串的内置函数

  • 控制字符串的大小写函数
  • 控制字符串的长度函数

六、运算符

1. 算数运算符

参见《Python学习总结【连载】(一)》文末。

2. 比较算数符

分为 >(大于),<(小于),>=,<=,==(等于),!=(不等于)。
所有比较运算符的结果都是布尔值
x>y :比较x是否大于y,如果是,结果就是True,否则是False
x>=y:x大于或等于y都正确
x==y :比较x,y是否相等(一个=就是赋值,两个=才是相等)
例子:

    print(10>5)
    print('abcdef'>'bcd') 

由第二排代码可知,字符串也可以比较。
比较字符串的大小的时候,不是比较两个字符串的长度,而是从第一个字符开始比较,如果第一个字符串第一个符大于第二个字符串的第一个字符,结果就是ture,否则false。
如果两个字符串的第一个字符相等他们才会比较到第二个字符,依次类推。
原理:字符串比较其实是编码大小的比较,字符串长度不一样的话,短的字符串用0来补位,0最小。

3.赋值运算符

赋值运算符有 = ,+= ,-= ,= ,/= ,%= ,//= ,*= 几种。
所有的赋值运算符左边都必须是 变量,右边是 表达式

补充:表达式:本身有值的语句,比如:10,a,10+a,10>20,10+20/43等。
表达式的值都是布尔值。*

    # a + 10 = 10 #右边不是变量,就会报错 SyntaxError: can't assign to operator
    a = 30
    b =20
    b=a 

如果a的值是基本数据类型(数字,字符串),直接将a里面存的赋值给b;如果值是对象,传递的则是变量中存储的地址。

    a += 1
    print(a)
    a +=10 # a = a+10
    print(a)

其他赋值运算符与例子中的+=相似。
复合赋值运算符中不能有空格,要紧挨一起,不然报错。

4.逻辑运算符

逻辑运算符由 and(与),or(或),not(非)组成。
运算符and的判断方式:
表达式1 and 表达式2 :两个表达式的值都是true的话结果才是true。(and 即并且,是true的情况只有一种)

    print(True and True)
    print(True and False)
    print(False and False)
    print(False and False)

例子:
应用场景 网吧年龄
要求:1.年龄大于18并且小于50
2.颜值不能低于80

    age = 40
    face = 90
    result = age>18 and age<50

and face>= 80
print(result)

运算符or的判断方式:
表达式1 or 表达式2:两个表达式的值都为False,结果才是False,否则是Tru。(or 即为或者)

    print(True or True)
    print(True or False)
    print(False or True)
    print(False or False)

例子:
应用场景 奖学金
1.奖学金要求:绩点大于8.5或者操评大于90
2.奖学金新要求:1.绩点大于9.7
2.成绩8.5~9.7,操评大于85

    grade =9.0
    score =70
    result= grade>8.5 or score >90
    print(result)

    result=grade>9.7 or (grade>=8.5 and grade<=9.7 and score>85)
    print(result)

运算符的not判断方式:
如果表达式的值为真,结果就是假;表达式的值为假,结果就是真。

    print(not True)
    print(not False)

应用场景 判断成绩是否及格
要求:成绩不小于6

    grade =5 #给变量赋值的时候,后面赋的值会覆盖前面的值
    result = not(grade<6)
    print(result)

练习:进入游乐场的年龄
要求:不大于12岁的,并不小于2岁

    age =10
    result = not(age>12) and             not(age<2)
    print(result)
    # 简单用法
    result = (not age>12) and (not age<2)
    # 要注意语句之间的关系,什么相关什么不相关。

5.运算符的优先级(由低到高)

赋值运算符<逻辑运算符<比较运算符<加减<乘除,取余,整除,幂运算<取正负

在运算表达式中,加()可以改变运算优先级,改变运算顺序。

七、字符串

1.概念

由单引号或双引号括起来的文本。
python中的字符串都是Unicode字符串。

2.Unicode编码

Unicode编码

  1. 就是一种对字符的编码方式。(将字符编码成对应的数字,方便计算机存储)
  2. Unicode编码又称万国码,是支持目前几乎所有的语言文字编码。
  3. Unicode编码包含ASCII码。
    数据存储到计算机中是以二进制的形式存的。(二进制是数字)
    ASCII码中(大写大小)小于(小写大小)

3.Python 中Unicode编码与字符串的转换

将Unicode码转换成字符

    char = chr(0x4e00)
    print(char)
    char= chr(0x4e01)
    print(char)

将字符转换成Unicode码
结果是十进制形式

    code = ord('宁')
    print(code)

    for x in range(0x4e00,0x9FA5):
        print(chr(x),end='')
    print()
    #Unicode中文字符表

'''
字符串比大小的时候,实质就是比字符的Unicode编码的大小

4.字符串的相关运算

字符串的长度
就是指字符串中字符的个数

    'abc' #长度为3
    ' 12' #长度为3
    # len('字符串'):获取字符串长度
    str1 = '你好,Python'
    length = len(str1)
    print(length)

获取字符/子串
a.获取某一个字符
格式:字符串变量【下标】(下标:从零开始的数字,代表的是某一个字符在字符串中的偏移量(位置))
(范围:0字符串长度-1[0len-1]或者-1-字符串长度[-1len])

    str1 = 'Hello,Python'
    print(str1[0]) #获取第0个字符
    print(str1[5]) #获取从0开始数的第五个字符
    # print(str1[20]) # 超出长度,报错IndexError: string index out of range
    print(str1[-1]) #获取的是倒数第一个字符(最后一个)
    print(str1[-2]) #获取倒数第二个字符
    # print(str1[-13]) # 超出长度,报错IndexError: string index out of range
    print(str1[len(str1)-1])

b.获取字符串中某部分的字母(获取子串)
格式:字符串变量【开始下标:结束下标】---->获取从开始下标到结束下标的所有字符
注意:开始下标对应的字符可以取到,结束下标对应的字符时候取不到的。

    print(str1[1:4]) #获取从下标是1开始,到下标是(4-1)的所有的字符
    print(str1[6:10])
    #开始下标不写,默认从0开始
    print(str1[:6])  #获取从开始到下标是5为止的所有的字符
    #结束下标不写,就会取到最后一个字符
    print(str1[-4:])
    # 同理前后不写就是取完所有字符
    # 如果结束下标在开始下标的前面(左前右后),就会取不到字符(不能倒着取)
    print(str1[5:1])

字符串的运算符
字符串的运算符: +,,in ,not in*
+:字符串连接

str1='o'
str2='m'
str3=str1+str2+'g'

:字符串中的操作,就是字符串重复多少次

    str2 +='!' #str2 = str2+'!'
    print(str3*3+','+str2)

in:字符串1 in 字符串2:判断字符串2中是否包含字符串1,结果是布尔值

    str1='Hello'
    print('he' in str1)   #判断'He'是否在str1里面(判断str1中是否包含'He')

not in:字符串1 not in 字符串2:刚好和in相反,判断是否没有。

八、print函数的使用

1. print函数的普通用法

print()函数可以打印括号中的任何内容。
每次调用print函数打印完后会换行。

    print(10)
    str1='aaa'
    print(str1)

同时打印多个内容,多个内容可以用逗号隔开;打印的时候,多个内容之间用空格隔开的。

    print("aa",100,str1)

2. print函数的高级用法

格式化输出
比如:我是xxx,今年xx岁
格式:print('%s %d'%(var1,var2)):
在输出字符串的时候,在字符串中使用字符串格式符表示变化的内容。
然后在%后面的括号里面,依次使用表达式给前面的字符串格式符赋值。

常用格式符
%s:字符串
%d:整数
%f:浮点数
%c:字符或编码
%o:八进制
(注意这些(包括数字)都是字符串)
%X/%x 十六进制

例子:
name = '张山'
age = 18
print("我是%s,今年%d岁"%(name,age))

    #%f的使用方式:
    print('余额:%f万元'%(10.25)) #默认保留小数点后六位
    print('余额:%.2f万元'%(10.25)) #%.2f 保留小数点的后两位,%.3 保留小数点后三位
    # %c的使用方式
    print('%c'%('a')) #打印的是a,注意一定要是字符。
    print('%c'%(0x4e01)) #打印的是 丁
    print('%X,%x'%(15,15)) #结果是F,f,有大小写区别

    print('我是'+name+"今年"+'age'+'岁')
    # 注意:age是数字,加的时候要加引号变成字符串
    # 注意:加号两边只能都是数字或者都是字符串,不能一个数字一个字符串
    print('我是',name,"今年",age,'岁')
    #这种打法会让中间有空格,解决方法:设置print函数的sep参数,可以改变print 函数在同时打印多个内容时的分隔符(默认是空格)
    print('我是',name,"今年",age,'岁',sep='') #打印多个数据的时候,数据之间没有间隙
    print('aa',100,'bbb',sep='--')  #打印多个数据的时候,数据之间以‘--’隔开

end参数使用
设置print函数的结束字符串,默认是'\n'(也就是默认换行)
注意:设置sep和end参数,只是当次有效。

    print('Hello',end=' ')
    print('World')

sep参数使用

    print('我是',name,"今年",age,'岁')
    #这种打法会让中间有空格,解决方法:设置print函数的sep参数,可以改变print 函数在同时打印多个内容时的分隔符(默认是空格)
    print('我是',name,"今年",age,'岁',sep='') #打印多个数据的时候,数据之间没有间隙
    print('aa',100,'bbb',sep='--')  #打印多个数据的时候,数据之间以‘--’隔开

注意:设置sep和end参数,只是当次有效。

九、字符串的内置函数

1. 控制字符串的大小写函数

capitalize() 将字符串的第一个字符转换为大写。(不会改变原来的字符串,而是返回一个新的字符串)

    str1 = 'python student'
    newStr = str1.capitalize()
    print(str1,newStr)

title() 将字符串中每个单词的首字母大写(不会改变原来的字符串,而是返回一个新的字符串)
!单词区分,和英语区分单词的方式是一样的,一般是以空格或者标点符号来区分。

    newStr = str1.title()
    print(str1,newStr)

2. 控制字符串的长度函数

center(width,fillchar) 将字符串变成指定的长度,并且原字符串内容居中,剩余的位置使用指定的字符fillchar填充。

    str1 = 'abc'
    newStr = str1.center(11,'*')
    print(newStr)

相关文章

网友评论

      本文标题:Python学习总结【连载】(二)

      本文链接:https://www.haomeiwen.com/subject/qoeseftx.html