Day2-字符串+变量
字符串
.转义字符
.格式化
.内建函数
转义字符
.用一个特殊的方法表示出一系列不方便写出的内容,比如回车键,换行键,退格键
.借助反斜杠字符,一旦字符串中出现反斜杠,则反斜杠后面一个火几个字符表示已经不是原来的意思了,进行了转义
.在字符串中,一旦出现反斜杠就要加倍小心,可能由转义字符出现
.不同系统对换行操作有不同的表示
windows: \n
Linux: \r\n
In[1]:
s="i love you"
print(s)
i love you
In[10]:
# 如果想表示出Let‘s go来
# 1. 可以使用嵌套引号,即外层使用双引号
# 2. 转义字符
s="Let's go"
print(s)
#\' == '
ss='Let\'s go'
print(ss)
# \\ = \
sss="c:\\user"
print(sss)
# 回车换行符
s1="I love \n you"#/n表示回车换行
print(s1)
Let's go
Let's go
c:\user
I love
you
字符串的格式化
把字符串按照一定格式打印或者填充
格式化由两种方法
利用百分号(%)
利用format函数
In[9]:
s="xxx 您好, 我们学院开课了,免费的Python呀,不学白不学,学了也白学。"
利用百分号格式化
在字符串中,利用%表示一个特殊的含义,表示对字符进行格式化
%d: 此处应该放入一个整数
%s: 表示此处应该放入一个字符串
In[11]:
s="I love %s"
# 下面打印,直接把%s作为字符串的一个内容打印出来
print(s)
I love %s
In[12]:
s="I love %s"
# 下面打印,直接把%s作为字符串的一个内容打印出来
print(S)#NameError一般都是名称出问题了 注意大小写
---------------------------------------------------------------------------NameErrorTraceback (most recent call last)
In[13]:
print("I love %s"%"you")
I love you
In[14]:
print(s%"you")
I love you
In[15]:
s="I am %d years old"
# 留意下面两句话的区别和结果
print(s)
print(s%36)
I am %d years old
I am 36 years old
In[18]:
s="I am %s, i am %d years old"
print(s)
# 注意以下表达的出错原因
# 如果字符串中由占位符,则由几个占位符必须用几个实际内容代替,或者一个也不要
#print(s%"Jin")
# 如果出现多个占位符,则相应内容需要用括号括起来
print(s%("Jin",18))
I am %s, i am %d years old
I am Jin, i am 18 years old
format函数格式化字符串
直接用format函数进行格式化
推荐使用这种方法
在使用上,以{}和:代替%号,后面用format带参数完成
In[25]:
s="I love {}".format("Jin")
print(s)
s="Yes, i am {1} years old, I love {0} and i am {1} years old".format("Jin",18)
print(s)
I love Jin
Yes, i am 18 years old, I love Jin and i am 18 years old
None
表示什么都没有
如果函数没有返回值,可以返回 None
用来占位置
用来接触变量绑定
表达式
由一个或者几个数字或者变量和运算符组合成的一行代码
通常会返回一个结果
运算符
由一个以上的值经过变化得到新值的过程就叫运算
用于运算的符号叫运算符
运算符分类:
算数运算符
比较或者关系运算符
赋值运算符
逻辑运算符
位运算
成员运算
身份运算符
算数运算符
进行算数运算的符号
python没有自增自减运算符
In[32]:
# +,-跟正常算术运算符一模一样
a=9+3-2
print(a)
# 乘号用星号(*)代替
a=9*4
print(a)
# 除号用斜杠(/)代替
# 在Python2.x 和python3.x 中,除号(/)结果可能不一致,此处以3系列为准
a=9/4
print(a)
# % 取余运算
# 两个数字相除应该有商数有余数
# % 只会得到余数
a=9%4
print(a)
# // 表示取商运算,也叫地板除
a=9//4
print(a)
# ** 表示幂运算
a=9**4
print(a)
a=3**3
print(a)
10
36
2.25
1
2
6561
27
比较运算符
对两个变量或者值进行比较的运算符
比较的结果是布尔值,即True/False
In[35]:
# == , 等于号
a=3**4
# 下面语句执行书序是
# 1, 计算 a == 80
# 2. 把结果放入b中
b=a==80
print(b)
# != 不等于
print(9!=8)
# > 大于
# < 小于
# >= 大于等于
# <= 小于等于
False
True
赋值运算符
In[37]:
# = , 赋值
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[40]:
# 逻辑运算符案例
a=True
b=False
c=True
# 以下式子等价于 d = 1 * 0 + 1
d=aandborc
print(d)
d=aorbanda
print(d)
True
True
In[43]:
# 逻辑运算的短路案例
# 下面的逻辑表达式,a的值一定是True,则运行到or的时候,整个表达式不在向下计算
a=Trueorxxxxxxxxxxx
# 下面表达式,如果xxx中包含赋值表达式,则结果很难预期
# 代码示例(伪代码)
b=0
a=aor(b=9)and6
# 假定上面表达式如果没有语法错误
# 则b最终的值应该是0而不是9
print(b)
print(a)
File "
成员运算符号
用来检测某一个变量是否是另一个变量的成员
in
not in
In[47]:
# 案例
l=[1,2,3,4,5]
a=7
b=ainl
print(b)
a=4
print(ainl)
print(anotinl)
False
True
False
身份运算
is: 用来检测两个变量是否是同一个变量
语法就是 var1 is var2
is not: 两个变量不是同一个变量
In[50]:
a=9
b=9
print(aisb)
a="I love Jin"
b="I love Jin"
print(aisb)
True
False
运算符的优先级问题
永远记住,括号具有最高优先级
优先级表格
** 指数 (最高优先级)
~ + - 按位翻转, 一元加号和减号 (最后两个的方法名为 +@ 和 -@)
* / % // 乘,除,取模和取整除
+ - 加法减法
>> << 右移,左移运算符
& 位 'AND'
^ | 位运算符
<= < > >= 比较运算符
<> == != 等于运算符
= %= /= //= -= += *= **= 赋值运算符
is is not 身份运算符
in not in 成员运算符
not or and 逻辑运算符
程序结构
顺序
分支
循环