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运算
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
c = 1
while c<=5:
print("while iteration of ", c)
c = c + 1
for c in range(5):
print("for iteration of ", c)
age = int(age)
if age<12:
print("He is a child.")
elif age<25:
print("He is young.")
else:
print("He is a man.")
列表解析式
通过迭代和分支结构创建List
slist = []
for i in range(10):
slist.append(i**2)
print(slist)
slist = [i**2 for i in range(10)]
print(slist)
slist = [i**2 for i in range(10) if i%2==0]
print(slist)
异常处理
异常处理是容错的方法。通过try,except,raise等配合处理。
import math
n = -1
try:
print(math.sqrt(n))
except:
print("Ill value for sqrt.")
if n<0:
#raise RuntimeError("Negative value can not be used for sqrt.")
pass
else:
print(math.sqrt(n))
定义函数
函数是程序设计模块,是实现软件复用的基础。
def mul(n):
r = 1
for i in range(n):
r = r*(i+1)
return r
print(mul(5),5*4*3*2*1)
面向对象
丰富的内容。这里是起点。
python培训:http://www.baizhiedu.com/python2019