数据类型与运算符

学习总结

今天主要学习了Python的一些基础知识,比如Python的数据类型,注释方式,运算符,与用户的交互方式等等。

主要内容

  • Python的数据类型
  • 注释方式
  • 交互方式
  • 运算符
  • 解包

 

1. Python的数据类型

  1.1 int

  整型数据类型,Python的整形可以通过通过直接定义变量定义,或者通过内置方法int(x)定义

  int(x, base=10)方法的原型是带进制的。

  常用使用方法如下:

>>> a = 10
>>> a
10
>>> b = int(20)
>>> b
20
>>> c = int('23')
>>> c
23
>>> d = int('0xf', 16)
>>> d
15

  1.2 float

   float是属于Python中的浮点型数据类型,就是俗称的小数类型。定义方法是 直接用变量定义,如a=1.5等等,或者通过内置方法定义,如下所示

>>> a = 1.5
>>> a
1.5
>>> b = float(2.3)
>>> b
2.3
>>> c = float('2.4')
>>> c
2.4

  1.3 str

  str类型通常是处理文本信息的数据类型,用来描述相关事物。字符串可以直接用赋值符号定义,也可以通过内置方法str()定义 。其中str方法可以把一些支持转换成字符串的对象转换成字符串形式。

表示字符串的方式有多种,可以通过一对单引号,双引号,三引号引起来,这些都表示字符串。

>>> a = '1'
>>> a
'1'
>>> b = "bcd"
>>> b
'bcd'
>>> c = str('abcd')
>>> c
'abcd'
>>> d = str([1, 2, 3])
>>> d
'[1, 2, 3]'

 

  1.4 dict

  字典是最常用的数据类型之一了,它可以用来表示任何类型,是通过键值对的形式体现,我们要获取值,只能通过键来获取。键只能由不可变的数据类型组成,通常是字符串,值可以表示任何类型。而这也是字典的优势,我们可以通过有意义的键值来获取想要的数据,而不用像列表只能通过索引访问数据。字典的定义有很多,展示如下。

>>> d = {}
>>> d['name'] = '小王'
>>> d
{'name': '小王'}
>>> d = dict([('name', '小李'), ('age', 17)])
>>> d
{'name': '小李', 'age': 17}
>>> d = dict(name='xiaoli', age=18)
>>> d
{'name': 'xiaoli', 'age': 18} 

  1.5 list

   列表是Python中记录多个数据的数据类型,列表中的内容可以是任何数据类型,取值是通过索引(下标)获取。列表的定义和前面一样,一种直接定义,或者通过内置方法定义。

>>> a = [1, 2, 'abd']
>>> a
[1, 2, 'abd']
>>> b = list('abc')
>>> b
['a', 'b', 'c']
>>> c =list()
>>> c
[]
>>> a[0]
1

  补充一下,列表和字典都可以随意的嵌套取值。

>>> d = {'province': {'Shanghai': '国际大都市', 'beijing': '首都'}}
>>> d['province']['Shanghai']
'国际大都市'
>>> l = [1, [2, 3, 4, 5]]
>>> l[1][3]
5

  1.6 bool

  只有两种取值,True 和 False,一般不会直接定义,大都应用于逻辑运算的结果判断。

>>> 3 > 4
False
>>> 1 + 3 == 4
True

2.  注释方式

  Python中注释不参与编译,在Python中共有两种注释方式,第一种是单行注释  以# 号开头,另一种是以一对三引号包围,里面的就是多行注释内容,形式就是下面这样。

   

 

 

3. 交互方式

  3.1 输入:

  python3中提供的输入方式就是input方法, input方法的参数是用户自己要添加的相应提示信息,方法返回字符串数据类型。

  此处补充Python3的input方法和Python2的input方法不同,而与Python2的raw_input()方法相同。具体使用方式如下

Python3:

>>> s = input('input name>>>')
input name>>>alex
>>> s
'alex'
>>> s = input('hello>>>')
hello>>>abc
>>> s
'abc'

Python2:

input方法必须自己指定数据类型,否则就会报变量未定义的错误

>>> a = input('输入: ')
输入: 123
>>> a
123
>>> a = input('输入: ')
输入: 'hello'
>>> a
'hello'
>>> a = input('输入: ')
输入: ab
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<string>", line 1, in <module>
NameError: name 'ab' is not defined

而raw_input则和Python3的input函数一样

>>> a = raw_input('input>> ')
input>> abc
>>> a
'abc'

  3.2 输出:

  Python中的输出是print方法,输出可以指定格式来格式化输出。

>>> print('I am a %s student' % 'good')
I am a good student
>>> print('My age is %d, I enjoy %s' % (24, 'reading'))
My age is 24, I enjoy reading

 print函数也是Python3和Python2的一个区别,在Python2中,print方法可以不需要加括号,而在Python3中则必须添加括号

Python2:

>>> print 'hello world'
hello world

 

4. 运算符

   4.1 常规的数学运算符 + - * /  //  **

  常规加减乘除没啥好说的,特殊的如// 是除完后取整, **运算符是乘方运算符。 其中+*运算符还支持字符串、列表, 

>>> 1 + 2
3
>>> 2 * 3
6
>>> 1 - 3
-2
>>> 2 / 3
0.6666666666666666
>>> 5 // 2
2
>>> 2 ** 3
8
>>> 'a' * 3
'aaa'
>>> [0] * 3
[0, 0, 0]
>>> 'a' + 'b'
'ab'
>>> [0] + [1]
[0, 1]

  4.2 增量运算符

  增量运算符只是省略了中间一步 a += 1  等价于 a = a + 1, 其他增量运算符如下所示

>>> a = 2
>>> a += 2
>>> a
4
>>> a *= 2
>>> a
8
>>> a /= 2
>>> a
4.0
>>> a -= 2
>>> a
2.0
>>> a **= 2
>>> a
4.0

  4.3 逻辑运算符

  Python中有3个逻辑运算符,与或非分别用and, or, not表示

  值得注意的是and运算符左边假则停止判断后一项,整个式子判为False,or运算符左边式子为真后,后一项则不会去执行,整个式子判为True

>>> 1 and False
False
>>> 1 or False
1
>>> True or False
True
>>> not True
False

 

5. 解包

 Python支持同时赋值多个元素,特殊的有链式赋值和解包,其中*是Python打包和解包的运算符,*号可以同时解包多个元素。

>>> a, b, c = [1, 2, 3]
>>> a, b, c
(1, 2, 3)
>>> a, *_, c = [1, 2, 3, 4, 5, 6]
>>> _
[2, 3, 4, 5]

 

posted @ 2019-07-01 18:36  yscl  阅读(128)  评论(0)    收藏  举报