Appearance
Python种的变量名一般不需要额外指定变量类型,和js相似。变量名的组成由数字、字母或下划线组成,长度不限,一般在20字符以内。
python
username = 'cv大魔王'
age = 21
整型
下面是数据类型的使用。首先来看整形,python3中的整形只有int类型,没有short或者long等。内置函数type()
可以获取变量的类型。
python
age = 21 #整形
age = int(21) #可以指定类型,python由long类型,python整型只有int了
height1 = 175.50 #浮点型
height2 = float(175.50) #浮点型只有float,没有double
print(type(height1)) #输出height1的类型,<class 'float'>
字符串
然后是字符型,单引号和双引号定义的字符是相同的,知识习惯问题。字符串不可改变,每次改变相当于从内存中重新获取了一块内存空间进行赋值,内置函数id可以返回变量的内存地址,我们打印出来发现两个内存地址并不相同。此外,字符串还有另外一种赋值方式,可以直接进行换行,代码如下。
python
if __name__ == '__main__':
username = 'cv大魔王'
print(id(username))
username = 'C'
print(id(username))
info = '''
今天是个大晴天
'''
print(info)
max和min函数可以查询字符串中编码最大的那个字符, len是获取字符串的长度
python
if __name__ == '__main__':
username = 'cv大魔王'
print(max(username)) #魔
print(min(username)) #c
print(len(username)) #5
布尔类型与空
在计算机中01
是计算机的最原始形态,单个占空间也最小,故而经常会将0
用来替代False,1
代表True。Python中设计除了0以外的其他数都代表True,空字符串也代表False。
python
if __name__ == '__main__':
print(bool('')) # 空字符的False
print(bool(0)) # 0是False其他数字都是true
print(bool(None)) # 布尔会将空识别成False
Python中空类型使用None
表示,它在布尔类型中代表False
列表(list)
先来看list的定义,可以是各种类型的,和java数组类似,但是比java要灵活的多。
python
if __name__ == '__main__':
str_array_01 = list(['小张', '小明', '小张']) # 指定数据类型创建list
str_array_02 = ['小张', '小明', '小张'] # 创建字符型list
int_array = [1, 2, 3, 4] # 创建整型list
float_array = [3.14, 5.96, 0.0] # 创建浮点型list
bool_array = [True, False] # 创建布尔类型list
list_array = [[1, 2, 3, 4], [True, False]] # 创建嵌套list
mix_array = ['CV大魔王', 1, 3.14, None, True] # 混合类型
in,max,min在列表中的使用如下,其中max和min在列表中使用,列表中的元素不能是多种类型,如果类型不统一会报错。
python
if __name__ == '__main__':
int_array = [1, 2, 3, 4]
print(1 in int_array) # True
print(5 in int_array) # False
print(max(int_array)) # 4
print(min(int_array)) # 1
TIP
列表、元组和字典的使用这里仅仅只是基本介绍,详细用法会在后面的文章中记录。
元组(tuple)
元组和列表很相似,都是一种可以存储多种数据结构的队列,元组也是一 个有序的,且元素可以重复的集合。元组的定义和列表不同,元组中的元素存在于一个()
小括号中,代码如下所示:
python
if __name__ == '__main__':
int_array = (1, 2, 3, 4) # 元组的定义和list相似,能存放的内容和list也一样
print(1 in int_array) # True
print(5 in int_array) # False
print(max(int_array)) # 4
print(min(int_array)) # 1
元组和列表的区别是,列表是可变的,元组是不可变的,所有元组比列表占用资源更小。
字典(dist)
和java的Map集合类似,其中Key支持字符串、数字和元组类型,但是不支持列表。value支持所有Python类型,基本使用如下:
python
if __name__ == '__main__':
person_1 = {'name': 'cv大魔王', 'age': 20}
person_2 = dict({'name': 'cv大魔王', 'age': 20})
print(person_1.get('name')) # cv大魔王
print(person_1.get('age')) # 20
字典的特性:key是唯一的。
赋值运算
和java一样,除了=
外还有+=
、-=
、*=
、/=
、%=
,还有两个特殊的幂运算符**=
和整除运算符//=
运算符和java的区别主要是以下三种,/
在java中是整除的意思,如果不指定为浮点数,运算的结果会直接舍弃小数,但是Python中会直接当作浮点数处理;//
就是整除的意思,会直接舍弃小数,不会进行四舍五入;**
就是幂运算,java中想要完成幂运算需要调用Math.pow()
函数,Python确实简化了不少。
python
if __name__ == '__main__':
print(10/3) # 3.3333333333333335
print(10//3) # 3
print(10**3) # 1000
还有一些神奇的操作,这些操作在java中都是不支持的。
python
if __name__ == '__main__':
name = 'Hello'
print(name * 3) # HelloHelloHello
list01 = [1, 2, 3]
print(list01 * 2) # [1, 2, 3, 1, 2, 3]
tuple01 = [1, 2]
print(tuple01 * 2) # [1, 2, 1, 2]
比较运算
比较运算符 | 说明 |
---|---|
> | 大于,如果> 前面的值大于后面的值,则返回 True,否则返回 False。 |
< | 小于,如果< 前面的值小于后面的值,则返回 True,否则返回 False。 |
== | 等于,如果== 两边的值相等,则返回 True,否则返回 False。 |
>= | 大于等于(等价于数学中的 ≥),如果>= 前面的值大于或者等于后面的值,则返回 True,否则返回 False。 |
<= | 小于等于(等价于数学中的 ≤),如果<= 前面的值小于或者等于后面的值,则返回 True,否则返回 False。 |
!= | 不等于(等价于数学中的 ≠),如果!= 两边的值不相等,则返回 True,否则返回 False。 |
is | 判断两个变量所引用的对象是否相同,如果相同则返回 True,否则返回 False。 |
is not | 判断两个变量所引用的对象是否不相同,如果不相同则返回 True,否则返回 False。 |