欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

00x0 python字符串和变量

程序员文章站 2023-08-18 14:06:41
字符串 字符串 字符串 字符串 字符串 字符串 转义字符 格式化 内建函数(后延) 转义字符 用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键 借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个火几个字符表示已经不是原来的意思了,进行了转义 在字符串中,一旦出现反斜杠就 ......
  • 转义字符
  • 格式化
  • 内建函数(后延)

转义字符

  • 用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键
  • 借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个火几个字符表示已经不是原来的意思了,进行了转义
  • 在字符串中,一旦出现反斜杠就要加倍小心,可能由转义字符出现
  • 不同系统对换行操作有不同的表示 windows: \n Linux: \r\n
In [1]
n = ('i love girl')
print(n)
 
i love girl
In [2]:
# 如果想表示出Let‘s go来
# 1. 可以使用嵌套引号,即外层使用双引号
# 2. 转义字符
n = "Let's go"
print(n)
​
#\' =='
nn = 'Let\'s go'
print(nn)
​
# \\ = \
nnn = "c:\\user"
print(nnn)
​
# 回车换行符
n1 = "I love \r\n Girl"
print(n1)
Let's go
Let's go
c:\user
I love 
 Girl
 

字符串的格式化

  • 把字符串按照一定格式打印或者填充
  • 格式化由两种方法 利用百分号(%) 利用format函数
In [3]:
n = "今夕何夕兮,搴舟中流。今日何日兮,得与王子同舟。蒙羞被好兮,不訾诟耻。心几烦而不绝兮,得知王子。"

  

利用百分号格式化

  • 在字符串中,利用%表示一个特殊的含义,表示对字符进行格式化
  • %d: 此处应该放入一个整数
  • %s: 表示此处应该放入一个字符串
In [4]:
n = "I love %s"
# 下面打印,直接把%s作为字符串的一个内容打印出来
print(n)
I love %s
In [5]:
print('i love %s'% 'Girl')
i love Girl
In [6]:
print(n%"Girl")
I love Girl
In [7]:
n = "I am %d years old"
# 留意下面两句话的区别和结果
print(n)
print(n%18)
I am %d years old
I am 18 years old
In [8]:
n = "I am %s, i am %d years old"
print(n)
# 注意以下表达的出错原因
# 如果字符串中由占位符,则由几个占位符必须用几个实际内容代替,或者一个也不要
#print(s%"tulingxueyuan")
​
# 如果出现多个占位符,则相应内容需要用括号括起来
print(n%("onion", 18))
I am %s, i am %d years old
I am onion, i am 18 years old
 

format函数格式化字符串

  • 直接用format函数进行格式化
  • 推荐使用这种方法
  • 在使用上,以{}和:代替%号,后面用format带参数完成
In [9]:
n = "i love {}".format("Girl")
print(n)
​
n = "yes, i am {1} years old, i love {0} and i am {1} years old".format("Girl",18)
print(n)
 
i love Girl
yes, i am 18 years old, i love Girl and i am 18 years old
 

None

  • 表示什么都没有
  • 如果函数没有返回值,可以返回 None
  • 用来占位置
  • 用来接触变量绑定
 

表达式

  • 由一个或者几个数字或者变量和运算符组合成的一行代码
  • 通常会返回一个结果 # 运算符
  • 由一个以上的值经过变化得到新值的过程就叫运算
  • 用于运算的符号叫运算符
  • 运算符分类: 算数运算符 比较或者关系运算符 赋值运算符 逻辑运算符 位运算 成员运算 身份运算符
 

算数运算符

  • 进行算数运算的符号
  • python没有自增自减运算符
In [10]:
# +,-跟正常算术运算符一模一样
n = 9+3-2
print(n)
# 乘号用星号(*)代替
n = 9 * 4
print(n)
# 除号用斜杠(/)代替
# 在Python2.x 和python3.x 中,除号(/)结果可能不一致,此处以3系列为准
n = 9/4
print(n)
​
​
# % 取余运算
# 两个数字相除应该有商数有余数
# % 只会得到余数
n = 9 % 4
print(n)
​
# // 表示取商运算,也叫地板除
n = 9 // 4
print(n)
​
# ** 表示幂运算
n = 9 ** 4
print(n)
​
n = 3 ** 3
print(n)
 
10
36
2.25
1
2
6561
27
 

比较运算符

  • 对两个变量或者值进行比较的运算符
  • 比较的结果是布尔值,即True/False
In [11]:
# == , 等于号
a = 3 ** 4
# 下面语句执行书序是
# 1, 计算 a == 80
# 2. 把结果放入b中
b = a == 80
print(b)
​
​
# != 不等于
print( 9 != 8 )
​
# > 大于
# < 小于
# >= 大于等于
# <= 小于等于
False
True
 

赋值运算符

In [12]:
# = , 赋值
a = 0
c = a = 4
​
# +=, 是缩写,
a = 0
a += 7 # a = a+ 7 的缩写
print(a)
​
​
# 所有数学运算符都有缩写形式
# -=, ×=, /=, //=, %=, **=,都是缩写形式
​
 
7
 

逻辑运算符

  • 对布尔值进行计算的符号
  • and 逻辑与
  • or 逻辑或
  • not 逻辑非
  • python中逻辑运算没有异或运算
  • 运算规则:
    • and看做乘法, or看做加法,
    • True看做1, False看做0
    • 则逻辑运算就能转换成整数数学运算
    • 最后结果如果是0则为False, 否则为True
  • 逻辑运算的短路问题
    • 逻辑运算式,按照运算顺序计算,一旦能够确定整个式子未来的值,则不再进行计算,直接返回
In [13]:
# 逻辑运算符案例
a = True
b = False
c = True
​
# 以下式子等价于 d = 1 * 0 + 1
d = a and b or c
print(d)
​
​
d = a or b and a
print(d)
True
True
In [14]:
# 逻辑运算的短路案例
​
# 下面的逻辑表达式,a的值一定是True,则运行到or的时候,整个表达式不在向下计算
a = True or xxxxxxxxxxx
​
# 下面表达式,如果xxx中包含赋值表达式,则结果很难预期
# 代码示例(伪代码)
b = 0
a = a or (b=9) and 6
# 假定上面表达式如果没有语法错误
# 则b最终的值应该是0而不是9
print(b)
print(a)
 
 
 

  

  File "<ipython-input-14-81e724a0d038>", line 9
    a = a or (b=9) and 6
               ^
SyntaxError: invalid syntax


 

成员运算符号

  • 用来检测某一个变量是否是另一个变量的成员
  • in
  • not in
In [15]:
# 案例
l = [1,2,3,4,5]
a = 7

b = a in l
print(b)

a = 4
print(a in l)

print(a not in l)

  

False
True
False
 

身份运算

  • is: 用来检测两个变量是否是同一个变量
    • 语法就是 var1 is var2
  • is not: 两个变量不是同一个变量
In [16]:
 
a = 9
b = 9
print( a is b)

a = "I love wangxiaojing"
b = "I love wangxiaojing"
print( a is b)

  

True
False
 
 
 

运算符的优先级问题

  • 永远记住,括号具有最高优先级
  • 优先级表格

    • ** 指数 (最高优先级)
    • ~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
      • / % // 乘,除,取模和取整除
        • 加法减法
    • << 右移,左移运算符

    • & 位 'AND'
    • ^ | 位运算符
    • <= < > >= 比较运算符
    • <> == != 等于运算符
    • = %= /= //= -= += *= **= 赋值运算符
    • is is not 身份运算符
    • in not in 成员运算符
    • not or and 逻辑运算符
 

程序结构

  • 顺序
  • 分支
  • 循环
In [ ]: