Python学习第2节:变量定义,运算符,和print函数

变量定义赋值

区别于java,C#等后端代码,python是弱类型无需声明类型,可直接定义:

name = “tom"

age=12

打印变量类型type

age=10

type(a)

变量缓存管理,id()打印内存地址查看

Python 解释器启动时从内存空间中开辟出一小部分,用来存储高频使用的数据,这样可以大大减少高频使用的数据创建时申请内存和销毁时撤销内存的开销。

数据类型

是否可以重用

生效范围

范围在 [-5, 256] 之间的小整数

如果之前在程序中创建过,就直接存入缓存,后续不再创建。

全局

bool 类型

字符串类型数据

大于 256 的整数

只要在本代码块内创建过,就直接缓存,后续不再创建。

本代码块

大于 0 的浮点型小数

小于 0 的浮点型小数

不进行缓存,每次都需要额外创建。

小于 -5 的整数

id() 内置函数,该函数的功能是获取变量(对象)所在的内存地址

i1=3

i2=3

id(i1)

id(i2)

打印结果是两个变量是相同的内存地址

获取用户输入的字符串input()

a = input("Enter a number: ")

print(a)

类型转换 int float str

存在不同的类型转换报错时,需要处理报错

age="11.2"

print(10+age) ##报错TypeError: must be str, not float.字符串和浮点类型变量不能直接相连

改成:print(10+float(age))

函 数

作 用

int(x)

将 x 转换成整数类型

float(x)

将 x 转换成浮点数类型

complex(real,[,imag])

创建一个复数

str(x)

将 x 转换为字符串

repr(x)

将 x 转换为表达式字符串

eval(str)

计算在字符串中的有效 Python 表达式,并返回一个对象

chr(x)

将整数 x 转换为一个字符

ord(x)

将一个字符 x 转换为它对应的整数值

hex(x)

将一个整数 x 转换为一个十六进制字符串

oct(x)

将一个整数 x 转换为一个八进制的字符串

运算符 + - * / //

运算符

说明

实例

结果

+

  1. 字符串连接符 “name:"+"tom"

12.45 + 15

27.45

-

  1. 负运算(正数变负数,负数变正数)

f = -83.5

f_neg = -f 结果:83.5

4.56 - 0.26

4.3

*

  1. 重复字符串

str1 = "hello "

print(str1 * 4) 结果:hello hello hello hello

5 * 3.6

18.0

/

除法(和数学中的规则一样)

7 / 2

3.5

//

整除(只保留商的整数部分)

7 // 2

3

%

取余,即返回除法的余数

7 % 2

1

**

幂运算/次方运算,即返回 x 的 y 次方

2 ** 4

16,即 24

比较运算符 > < ==

比较运算符

说明

>

大于,如果>前面的值大于后面的值,则返回 True,否则返回 False。

<

小于,如果<前面的值小于后面的值,则返回 True,否则返回 False。

==

等于,如果==两边的值相等,则返回 True,否则返回 False。

>=

大于等于(等价于数学中的 ≥),如果>=前面的值大于或者等于后面的值,则返回 True,否则返回 False。

<=

小于等于(等价于数学中的 ≤),如果<=前面的值小于或者等于后面的值,则返回 True,否则返回 False。

!=

不等于(等价于数学中的 ≠),如果!=两边的值不相等,则返回 True,否则返回 False。

is

判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。

is not

判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。

print("89是否大于100:", 89 > 100)

print("24*5是否大于等于76:", 24*5 >= 76)

print("86.5是否等于86.5:", 86.5 == 86.5)

print("34是否等于34.0:", 34 == 34.0)

print("False是否小于True:", False < True)

print("True是否等于True:", True < True)

结果:

89是否大于100: False

24*5是否大于等于76: True

86.5是否等于86.5: True

34是否等于34.0: True

False是否小于True: True

True是否等于True: False

逻辑运算符 and or not

逻辑运算符

含义

基本格式

说明

and

逻辑与运算,等价于数学中的“且”

a and b

当 a 和 b 两个表达式都为真时,a and b 的结果才为真,否则为假。

or

逻辑或运算,等价于数学中的“或”

a or b

当 a 和 b 两个表达式都为假时,a or b 的结果才是假,否则为真。

not

逻辑非运算,等价于数学中的“非”

not a

如果 a 为真,那么 not a 的结果为假;如果 a 为假,那么 not a 的结果为真。相当于对 a 取反

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

height = int(input("请输入身高:"))

if age>=18 and age<=30 and height >=170 and height <= 185 :

print("恭喜,你符合报考飞行员的条件")

else:

print("抱歉,你不符合报考飞行员的条件")

注意:

Python 逻辑运算符可以用来操作任何类型的表达式,不管表达式是不是 bool 类型;同时,逻辑运算的结果也不一定是 bool 类型,它也可以是任意类型。请看下面的例子:

  1. print(100 and 200)

  2. print(45 and 0)

  3. print("" or "http://c.biancheng.net/python/")

  4. print(18.5 or "http://c.biancheng.net/python/")

结果:

200

0

http://c.biancheng.net/python/

18.5

三目运算符 exp1 if contion else exp2

语法:exp1 if contion else exp2

如果 condition 成立(结果为真),就执行 exp1,并把 exp1 的结果作为整个表达式的结果;如果 condition 不成立(结果为假),就执行 exp2,并把 exp2 的结果作为整个表达式的结果。

max = a if a>b else b ##比较a,b较大值

嵌套时需要注意 if 和 else 的配对:a if a>b else c if c>d else d 应该理解为:a if a>b else ( c if c>d else d )

 print函数

语法:print (value,...,sep='',end='\n',file=sys.stdout,flush=False)

同时输出多个参数值

age=10

name=tom

print("age:",age,"name:",name)

分隔符,可通过 sep 参数进行设置

print(age,name,sep='|') ##sep="|" 也可以

#print() 函数输出之后不会换行

print(40,end="")

print(30,end="")

参数指定 print() 函数的输出目标(覆盖文件内容)

f = open("demo.txt","w")#打开文件以便写入

print('沧海月明珠有泪',file=f)

print('蓝田日暖玉生烟',file=f)

f.close()

####print() 函数的 flush 参数用于控制输出缓存,该参数一般保持为 False 即可,这样可以获得较好的性能。

输出占位符 %s……

age=8

print("你是几岁%d%s%o"%(age,age,age)) ##占位需要符合python语法,%是分割符号。以下是一些python占位符

转换说明符

解释

%d、%i

转换为带符号的十进制整数

%o

转换为带符号的八进制整数

%x、%X

转换为带符号的十六进制整数

%e

转化为科学计数法表示的浮点数(e 小写)

%E

转化为科学计数法表示的浮点数(E 大写)

%f、%F

转化为十进制浮点数

%g

智能选择使用 %f 或 %e 格式

%G

智能选择使用 %F 或 %E 格式

%c

格式化字符及其 ASCII 码

%r

使用 repr() 函数将表达式转换为字符串

%s

使用 str() 函数将表达式转换为字符串

输出转义字符 \n \r \t

转义字符

说明

\n

换行符,将光标位置移到下一行开头。

\r

回车符,将光标位置移到本行开头。

\t

水平制表符,也即 Tab 键,一般相当于四个空格。

\a

蜂鸣器响铃。注意不是喇叭发声,现在的计算机很多都不带蜂鸣器了,所以响铃不一定有效。

\b

退格(Backspace),将光标位置移到前一列。

\\

反斜线

\'

单引号

\"

双引号

\

在字符串行尾的续行符,即一行未完,转到下一行继续写。

#使用\t排版
str1 = '网站\t\t域名\t\t\t年龄\t\t价值'
str2 = 'C语言中文网\tc.biancheng.net\t\t8\t\t500W'
str3 = '百度\t\twww.baidu.com\t\t20\t\t500000W'
print(str1)
print(str2)
print(str3)

print("--------------------")

# \n在输出时换行,\在书写字符串时换行
info = "Python教程:http://c.biancheng.net/python/\n\
C++教程:http://c.biancheng.net/cplus/\n\
Linux教程:http://c.biancheng.net/linux_tutorial/"
print(info)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值