400-616-5551

您所在位置: 首页> 学习课程> 学习python,如何搞懂数据结构与控制语句?

学习python,如何搞懂数据结构与控制语句?

发布百知教育 来源:学习课程 2019-11-21

Python和一般程序涉及语言一样,学习起来就是搞清楚数据结构与控制语句。Python是解释型语言,意思就是可以边写边算。Python是面向对象的,所有算法或者说函数,都是可以和数据捆在一起作为整体,这个叫类,类的实例叫对象。数据结构的实例就是数据。

面向对象的程序设计语言,一般都是可以直接写函数的,即兼容面向过程。例如下面就是调用print函数。

print("Python is simpler than me.")

内建原子数据类型

C/C++是需要先声明数据的数据类型才能使用的,Python可以直接用,即类型具有动态性。原子的意思是,是其他自定义类型的基础,或者说没必要再分。

两大内建数值数据类型:int,float。

数值的标准运算符包括:+,-,*(幂),%(取模),//(整除),以及改变运算优先级的括号。

print(100+99*2+98/3+2**3+97//4-1)

布尔数据类型

可能的状态是True,False,运算符包括and, or, not

print(True)print(not True)print(True and False)print(True or False)

数值和布尔值都可以用于关系运算(>=,==,!=)做比较。

print(5==10)print(5<10)print(5<10 and 10<20)

标识

数据可以有个标识作为名字,名字最好是字符、数字和下划线组成的,有含义,可读。

n = 0print(n)n = n + 1print(n)

动态性

赋值可以改变数据类型,体现动态数据类型特征。

n = Trueprint(n)

内置集合数据类型

集合是数据容器。列表、字符串、元组是有序集合,集和字典是无序集合。

列表

列表(List)是一系列值,可以是异构的。

a = [1,2,3.1,True]print(a)

List运算

python培训



print(a[0])print(a+a)print(a*3)print(2 in a)print(a[:2])print(a[2:])print(a[1:3])

List函数

增、删、排序、查找

a.append(9)print(a)a.insert(2,99)print(a)print(a.pop())print(a)print(a.pop(3))print(a)a.sort()print(a)a.reverse()print(a)del a[0]print(a)print(a.count(2))a.remove(2)print(a)

range函数

生成数值范围对象,list函数可以看到范围对象中的数值List

print(range(10))print(list(range(10)))

字符串

字符串(string)是字符的只读有序集合

s = "Shanghai is a city"print(s)print(s[0])print(len(s))

字符串函数

字符串函数包括计数、填充、小写、大写、查找、分割

print(s.count('a'))print(s.find('a'))print(s.center(30))print(s.ljust(30))print(s.rjust(30))print(s.lower())print(s.upper())print(s.split(' '))

元组

元组(tuple)是只读列表。

t = (True,a,s,1)print(t)print(len(t))print(t[0])

集(set)是无序只读数据集合。

e = {2,4,True}print(e)

Set支持的运算

  • in:询问集中是否有某元素

  • len:元素数量

  • a | b:合集

  • a & b:交集

  • a - b:a中去除b中元素

  • a <= b:询问a中元素是否都在b中

a = {1,2,3}b = {3,4,5}print(1 in a)print(len(a))print(a | b)print(a & b)print(a - b)print(a <= b)

Set支持的方法

  • union

  • intersection

  • difference

  • issubset

  • add

  • remove

  • pop

  • clear

print(a.union(b))print(a.intersection(b))print(a.issubset(b))a.add(9)print(a)a.remove(9)print(a)a.pop()print(a)a.clear()print(a)

字典

字典是键值对的无序集合。

d = {"name": "Yao", "age": 8, "gender":"M"}print(d)

字典支持的运算

  • d[key]

  • key in d

  • del d[key]

print(d["age"])print("age" in d)del d["gender"]print(d)

字典提供的方法

  • d.keys()

  • d.values()

  • d.get(key)

  • d.get(key, alt)

print(d.keys())print(d.values())print(d.get("age"))print(d.get("gender","M"))

输入输出

输入

通过提示再键盘输入,再转换类型

age = input("Your age:")print(age)print(type(age))print(int(age))print(type(int(age)))print(type(str(int(age))))

格式化输出

print("hello", "world", sep=" ** ", end="!\n")print("%s's age is %d." % (d["name"], d["age"]))print("{}'s age is {}.".format(d["name"], d["age"]))

控制结构:迭代与分支

迭代:for,while

  1. c = 1

  2. while c<=5:

  3.    print("while iteration of ", c)

  4.    c = c + 1


  5. for c in range(5):

  6.    print("for iteration of ", c)


  7. age = int(age)    

  8. if age<12:

  9.    print("He is a child.")

  10. elif age<25:

  11.    print("He is young.")

  12. else:

  13.    print("He is a man.")

列表解析式

通过迭代和分支结构创建List

  1. slist = []

  2. for i in range(10):

  3.    slist.append(i**2)

  4. print(slist)


  5. slist = [i**2 for i in range(10)]

  6. print(slist)


  7. slist = [i**2 for i in range(10) if i%2==0]

  8. print(slist)

异常处理

异常处理是容错的方法。通过try,except,raise等配合处理。

  1. import math

  2. n = -1

  3. try:

  4.    print(math.sqrt(n))

  5. except:

  6.    print("Ill value for sqrt.")


  7. if n<0:

  8.    #raise RuntimeError("Negative value can not be used for sqrt.")

  9.    pass

  10. else:

  11.    print(math.sqrt(n))

定义函数

函数是程序设计模块,是实现软件复用的基础。

  1. def mul(n):

  2.    r = 1

  3.    for i in range(n):

  4.        r = r*(i+1)

  5.    return r


  6. print(mul(5),5*4*3*2*1)

面向对象

丰富的内容。这里是起点。


python培训:http://www.baizhiedu.com/python2019







上一篇:大数据培训 | 安装hive并配置hive元数据,大数据必备技能

下一篇:应届生去公司找个Java程序员的职位需要什么技能?

相关推荐

www.baizhiedu.com

有位老师想和您聊一聊

关闭

立即申请