暑期Python学习(二)
Python基本语法
数据类型
首先必须说明一点,Python和JavaScript一样是一个弱类型语言,和Java、C++有所不同 ,Python在定义变量时,无需进行类型声明。
整数
对于很大的数,很难数清楚0的个数。Python允许在数字中间以_分隔。
浮点数
允许使用科学计数法定义
字符串
在Python没有严格要求''
和""
的区别在,也就是说没有区分字符和字符串
使用二者没有任何区别。
- 转义符和Java中保持一致
- Python允许用
r''
表示''
内部的字符串默认不转义
1 | print(r'\t\\') |
输出结果为:
1 | \t\\ |
- Python允许用
'''...'''
的格式表示多行内容,输出结果按行。
1 | print('''这是一个 |
布尔值
在Python中要注意:True
、False
要注意开头首字母大写。
可以进行与、或、非的运算,运算符分别为:and
,or
,not
空值
空值用None
表示,意义与Java中的null
相同。
变量与常量
变量
变量名必须是大小写英文、数字和_
的组合,且不能用数字开头
- 在变量创立时,Python是这样的:
① 找一块内存,存储一个数值
② 找一块内存,建立一个变量,将这个变量指向数值 - 这里注意Python的变量建立和指针相关。
常量
在Python中,通常用全部大写的变量名表示常量,但是并不能保证常量不变
list和tuple
list
list是Python内置的一种数据类型,list是一种有序的集合,可以随时添加和删除其中的元素。
此数据类型在Java的实用类中有封装。
list和数组很像,声明方式如下:
1 | classname = ['老六','老八','老壁灯'] |
想要调取其中的某个元素也和数组一致,赋值修改等也相同
下面列举一下list的ADT
1 | list: |
list允许混合类型,也允许list嵌套,从而出现多维数组。
tuple
tuple被称为元组,其最大的特点就是不可修改,声明方式如下:
1 | classname = ('老六','老八','老壁灯') |
tuple在定义时要确定元素个数,这里有一个问题,在定义只有一个元素的tuple时,Python
语法会认为这是一个小括号,因此在定义一个元组的tuple时,要加一个,
避免歧义。
1 | t=(1,) |
流程控制语句
条件判断
if语句,需要注意的是Python中的流程控制语句结尾都是冒号
1 | a=input() |
因为是弱类型语言,在比较、计算时要给数据指定一个类型。
循环
for x in []:
for x in ...:
循环就是把每个元素代入变量x,然后执行缩进块的语句 tips:
- xxxxxxxxxx it=iter([1,2,3,4,5])while True: try: x=next(it) except StopIteration: breakpython
- Python提供了range(x)函数,生成[0,x-1]的整数
while
while 条件判断语句 :
break
、continue
和java中用法相同
字典(dict)与集合(set)
字典(dict)
字典全称为dictionary,在Java实用类中叫hash map。其由键值对(key-value)组成,查找速度快。 下面是一种初始化方法:
1 | d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} |
也可以放入指定的key中:
1 | d['Adam'] = 67 |
查找value:
1 | d['Adam'] |
key与value是多对一的关系,key需要是一个不可变对象保证key做hash运算后的唯一性。如果多次对某个key赋值,后边的value会覆盖前面的value 提供了几个函数:
- 通过
in
来判断key是否在dict中,返回值为布尔值,格式为:key in dict
- get()方法,
dict.get('key',空返回值)
key不存在时返回空返回值,空返回值可自定义,如果没有定义的话返回None - pop()方法,删除key,如果有value也一并删除,格式为
pop('key')
集合(set)
set是一组key的集合,集合特点;无序性、确定性、互异性 要创建一个set,需要提供一个list作为输入集合:
1 | s = set([1, 2, 3]) |
- 方法:
add(key)
添加一个新的元素remove(key)
删除一个元素 - 两个set可以做交运算和并运算: 交运算:
s1&s2
并运算:s1|s2