Python之变量与数据类型

学习目标:

以python3为练习工具,掌握基础变量与数据类型。

学习内容:

学习要点:
1、 基础数据类型
2、 定义变量的方法
3、 整数与浮点数
4、 布尔类型
5、字符串
6、raw字符串与多行字符串
7、字符串format的应用
8、字符串编码
9、字符串切片


笔记:

1、 基础数据类型
1.1 整数

二进制:0b开头,例0b1010
十六进制:0x32C
十进制:1234

type(2)
//输出<calss 'int'>
type(3.14)
//输出<calss 'float'>
a = 3
b = 4
a, b = b, a
print(a, b)
//输出4 3

关键字id可以获取数据内存地址,可以用来检查数据是否一致。

1.2 浮点数

123.456=1.23456e2
python中e代表10
注:整数和浮点数在计算机内部存储的方式是不同的,整数运算永远是精确的,而浮点数运算则可能会有四舍五入的误差。

1.3 字符串

一个句子,一段话,在Python中就是字符串,在Python中,字符串是以’'或""括起来的任意文本。
例:print(‘abc’)或print(“abc”)均能打印字符串abc。

1.4 布尔值

在Python中,可以直接用True、False表示布尔值(请注意大小写,不需要使用字符串符号括起来),也可以通过布尔运算计算出来。
布尔值可以用and、or和not运算(注意and,or,not都是Python语言本身的关键字)。

1.5 空值

None表示空值

此外,Python还提供了列表、字典等多种数据类型,还允许创建自定义数据类型。

2、 变量定义方法

(1)变量名由大小写英文字母、数字和下划线_组成
(2)变量不能用数字开头
(3)变量尽量不要和Python关键字重合(比如前面学习过的:and、or、not,否则可能导致Python原有关键字发挥不出作用)

例:1)合法的变量定义num, count, _none, min_value
2)非法的变量定义1num, 666, 1_cd, and

定义变量
变量名=数据
例:a = 1,hello = ‘Hello’
print(a),print(hello)

在Python里面,一个变量可以先后存储多种不同类型的数据。
这是Python这类语言特有的特性,我们称之为动态语言,与之对应的是静态语言,Python、Javascript等等都是动态语言,Java、C、C++等等属于静态语言。

3、 整数与浮点数

基本运算
加、减、乘、除、取模(取余):+、-、、/、%
例:num1=10
num2=0.5
result=num1
num2
print(result) # 输出 5

地板除
对于地板除,得到的结果会忽略纯小数的部分,得到整数的部分,地板除使用//进行。
例:10//4 # 输出 2

小数点位数
使用round()函数来进行小数点位数保存,这里先了解round的调用方式,使用两个参数,第一个是需要保留小数点位数的数值,第二个是保留的位数。
例:num = 10 / 3
print(num) # ==> 3.3333333333333335 # 使用round保留两位小数
round(num, 2) # ==> 3.33

4、 布尔类型运算

Python把0、空字符串和None看成False,其他数值和非空字符串都看成True
True and 0计算结果是0
继续计算0 or 99计算结果是 99
因此,结果是99。
需要注意的是,not计算的优先级是高于and和or的。

5、 字符串

如果自身输出的字符串含有单个’或一组”,则使用“”或‘’相互切换输出
若含有多个单引号、双引号或组合,可以使用转义字符输出

常用的转义字符还有:

\n表示换行
\t 表示一个制表符
\表示 \ 字符本身
例:print(‘special string:’, ", \, \\, \n, \t’)

6、 raw字符串与多行字符串

如果一个字符串包含很多需要转义的字符,可以在字符串前面加个前缀r,表示这是一个 raw 字符串。
例:r’(~ _ ~)/ (~ _ ~)/’

要表示多行字符串,可以用’’’…’’‘表示:
‘’‘Line 1
Line 2
Line 3’’’
等价于 ‘Line 1\nLine 2\nLine 3’

还可以在多行字符串前面添加r,把这个多行字符串也变成一个raw字符串:
r’’‘Python is created by “Guido”.
It is free and easy to learn.
Let’s start learn Python!’’’

7、字符串format
字符串format由两个部分组成,字符串模板和模板数据内容组成,通过大括号{},就可以把模板数据内容嵌到字符串模板对应的位置。

# 字符串模板
template = 'Hello {}'
# 模板数据内容
world = 'World'
result = template.format(world)
print(result) # ==> Hello World

如果模板中{}比较多,则容易错乱,那么在format的时候也可以指定模板数据内容的顺序。

# 指定顺序
template = 'Hello {0}, Hello {1}, Hello {2}, Hello {3}.'
result = template.format('World', 'China', 'Beijing', 'CSDN')
print(result) # ==> Hello World, Hello China, Hello Beijing, Hello CSDN.
# 调整顺序
template = 'Hello {3}, Hello {2}, Hello {1}, Hello {0}.'
result = template.format('World', 'China', 'Beijing', 'CSDN')
print(result) # ==> Hello CSDN, Hello Beijing, Hello China, Hello World.

除了使用顺序,还可以指定对应的名字,使得在format过程更加清晰。

# 指定{}的名字w,c,b,i
template = 'Hello {w}, Hello {c}, Hello {b}, Hello {i}.'
world = 'World'
china = 'China'
beijing = 'Beijing'
imooc = 'imooc'
# 指定名字对应的模板数据内容
result = template.format(w = world, c = china, b = beijing, i = CSDN)
print(result) # ==> Hello World, Hello China, Hello Beijing, Hello CSDN.

8、 字符串编码

在python3中,默认使用UTF-8 Unicode来进行编码,因此我们可以在python中输入任意形式的Unicode字符串

注意:增加中文字符时,需添加# coding: utf-8

扩展:为什么有编码问题

因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计时采用8个比特(bit)作为一个字节(byte),所以,一个字节能表示的最大的整数就是255(二进制11111111=十进制255),0 - 255被用来表示大小写英文字母、数字和一些符号,这种编码方式被称为ASCII编码,比如大写字母 A 的编码是65,小写字母 z 的编码是122。
如果要表示中文,显然一个字节是不够的,至少需要两个字节,而且还不能和ASCII编码冲突,所以,中国制定了GB2312编码,用来把中文编进去。
类似的,日文和韩文等其他语言也有这个问题。为了统一所有文字的编码,Unicode应运而生。Unicode把所有语言都统一到一套编码里,这样就不会再有乱码问题了。
Unicode通常用两个字节表示一个字符,原有的英文编码从单字节变成双字节,只需要把高字节全部填为0就可以。

9、 字符串切片

使用位置的方式取出字符串中特定位置的字符,按照位置取字符串的方式使用中括号[]访问,这个时候可以把字符串看作是一个列表

s = 'ABC'
a = s[0] # 第一个
b = s[1] # 第二个
c = s[2] # 第三个
print(a) # ==> A
print(b) # ==> B
print(c) # ==> C

获取字符串的一部分(子串),这个时候我们采取切片的方式获取,切片需要在中括号[]中填入两个数字,中间用冒号分开,表示子串的开始位置和结束位置,并且这是半闭半开区间,不包括最后的位置。

s = 'ABCDEFGHIJK'
abcd = s[0:4] # 取字符串s中的第一个字符到第五个字符,不包括第五个字符
print(abcd) # ==> ABCD
cdef = s[2:6] # 取字符串s中的第三个字符到第七个字符,不包括第七个字符
print(cdef) # ==> CDEF

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值