Day-2

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()      1s="I love %s"      2# 下面打印,直接把%s作为字符串的一个内容打印出来----> 3 print(S)NameError: name 'S' is not defined

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 "", line 9    a = a or (b=9) and 6^SyntaxError:invalid syntax

成员运算符号

用来检测某一个变量是否是另一个变量的成员

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  逻辑运算符

程序结构

顺序

分支

循环

你可能感兴趣的:(Day-2)