Python 快速入门教程
来源:互联网 发布:js单选框选中触发事件 编辑:程序博客网 时间:2024/05/16 08:26
变量和数据类型
在 Python 中 我们不需要为变量指定数据类型。所以你可以直接写出 abc = 1 ,这样变量 abc 就是整数类型。如果你写出 abc = 1.0 ,那么变量 abc 就是浮点类型。
number = int(input(“Enter an integer: “))从键盘上输入一个整数 注意转换成int 类型。
查看数据类型type(num).
运算符和表达式
与C语言差不多。
1. 与,或,非用 and,or,not
表示
2. 22//12 ,表示除不尽时保留整数部分
3. 类型转换
类型转换函数 转换路径
float(string) 字符串 -> 浮点值
int(string) 字符串 -> 整数值
str(integer) 整数值 -> 字符串
str(float) 浮点值 -> 字符串
控制流
number = int(input("Enter a number: "))if number < 100: #注意有冒号 print("The number is less than 100")else: #注意 print("The number is greater than 100")
循环
while循环:求n个数的平均值
n=5sum=0i=0while i < n: number=float(input()) #循环体缩进 sum=sum+number i=i+1average=sum/nprint("n={},sum={}".format(n,sum)) #字符串格式化,大括号,被替换.format的参数print("average={:.2f}".format(average)) #2为小数的float类型
打印斐波那契(Fibonacci)数列
a, b = 0, 1while b < 100: print(b) a, b = b, a + b #这里注意意思为a=b,b=a+b;#print自动换行,可以使用print(b, end=' '),代替换行
for 循环
1 a=['i','am','good'] //一个列表 2 for x in a: //遍历每个元素 3 print(x)
列表
>>> a = [ 1, 342, 223, 'India', 'Fedora'] #可以类型不同>>> a[1, 342, 223, 'India', 'Fedora']#python是以0为开始索引的,注意>>> a[0]1>>> a[4]'Fedora'>>> a[-1] #从末尾开始计数'Fedora'#切片,其与c++中STL类似,左闭右开#切片的索引是在两个元素之间>>> a[0:-1] #不包括最后一个元素[1, 342, 223, 'India']>>> a[:] #所有元素[1, 342, 223, 'India', 'Fedora']>>> a[1::2] #表示从索引1开始,到最后,间隔为2[342, 'India']>>> a + [36, 49, 64, 81, 100] #支持连接操作[1, 342, 223, 'India', 'Fedora', 36, 49, 64, 81, 100]>>> a = ['ShiYanLou', 'is', 'cool'] #检验某个元素是否在列表中>>> 'cool' in a #非常简单的操作True>>> 'Linux' in aFalse>>> len(a) #获得长度3#列表允许嵌套>>> a = ['a', 'b', 'c']>>> n = [1, 2, 3]>>> x = [a, n]>>> x[['a', 'b', 'c'], [1, 2, 3]] #感觉像是二维数组>>> x[0]['a', 'b', 'c']>>> x[0][1] 'b'#range生成等差数列>>> range(1, 5) range(1, 5)>>> list(range(1, 5)) [1, 2, 3, 4]>>> list(range(1, 15, 3)) //以3为间隔[1, 4, 7, 10, 13]>>> list(range(4, 16, 2)) //特别注意,左闭右开[4, 6, 8, 10, 12, 14]#列表支持append操作>>> a = [23, 45, 1, -3434, 43624356, 234]>>> a.append(45)>>> a[23, 45, 1, -3434, 43624356, 234, 45]#insert操作>>>a.insert(0, 1) # 在列表索引 0 位置添加元素 1>>> a[1, 23, 45, 1, -3434, 43624356, 234, 45]#count操作>>> a.count(45) #列表中45出现的个数2#remove操作>>> a.remove(234)>>> a[111, 1, 23, 45, 1, -3434, 43624356, 45]#reverse操作>>> a.reverse()>>> a[45, 43624356, -3434, 1, 45, 23, 1, 111]#以一个列表扩展另一个列表>>> b = [45, 56, 90]>>> a.extend(b) # 添加 b 的元素而不是 b 本身>>> a[45, 43624356, -3434, 1, 45, 23, 1, 111, 45, 56, 90]#sort操作>>> a.sort()>>> a[-3434, 1, 1, 23, 45, 45, 45, 56, 90, 111, 43624356]#del关键字,注意他与remove的不同>>> del a[-1]>>> a[-3434, 1, 1, 23, 45, 45, 45, 56, 90, 111]#列表中pop()的用法a.pop() #弹出最后一个元素a.pop(0) #弹出第一个元素
Loops: You can loop over the elements of a list like this:
animals = ['cat', 'dog', 'monkey']for animal in animals: print animal# Prints "cat", "dog", "monkey", each on its own line.
如果想获得每一个元素的索引在循环中,可以用enumerate
animals = ['cat', 'dog', 'monkey']for idx, animal in enumerate(animals): print '#%d: %s' % (idx + 1, animal)# Prints "#1: cat", "#2: dog", "#3: monkey", each on its own line
列表推导式
列表推导式为从序列中创建列表提供了一个简单的方法。
#列表创建的一般方式>>> squares = []>>> for x in range(10):... squares.append(x**2) # x**2为x的二次方...>>> squares[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]#列表推导式squares = [x**2 for x in range(10)] #[]开头为表达式
同时列表推到式可以包含条件:
nums = [0, 1, 2, 3, 4]even_squares = [x ** 2 for x in nums if x % 2 == 0]print even_squares # Prints "[0, 4, 16]"
更复杂一点的例子:
#其中,(x,y)为所要生成的数据 (神奇)[(x, y) for x in [1,2,3] for y in [3,1,4] if x != y][(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]#上式等同于>>> combs = []>>> for x in [1,2,3]:... for y in [3,1,4]:... if x != y:... combs.append((x, y))...>>> combs[(1, 3), (1, 4), (2, 3), (2, 1), (2, 4), (3, 1), (3, 4)]
元组
元组是由数个逗号分割的值组成
>>> a = 'Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus'>>> a('Fedora', 'ShiYanLou', 'Kubuntu', 'Pardus')>>> a[1]'ShiYanLou'>>> for x in a:... print(x, end=' ') #这样会输出成一行...Fedora ShiYanLou Kubuntu Pardus>>> x, y = divmod(15,2) #divmod,第一个参数为结果,第二个为余数>>> x7>>> y1#注意元组不可改变,不能删除,修改等
字典
字典是是无序的键值对(key:value)集合,等同于c++中的unordered_map
哈希表。同一个字典内的键必须是互不相同的。
其形式为 :键:值
#创建字典>>> data = {'kushal':'Fedora', 'kart_':'Debian', 'Jace':'Mac'}>>> data{'kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian'}>>> data['kart_'] #用键值,搜索值'Debian'#添加新的键值>>> data['parthan'] = 'Ubuntu'>>> data{'kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'}#del删除键值对>>> del data['kushal']>>> data{'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'#查询是否在字典中,查询的是键值,其实和c++类似>>> 'ShiYanLou' in data False#遍历字典,使用字典的 items()方法>>> data{'Kushal': 'Fedora', 'Jace': 'Mac', 'kart_': 'Debian', 'parthan': 'Ubuntu'}>>> for x, y in data.items(): #注意... print("{} uses {}".format(x, y))...Kushal uses FedoraJace uses Mackart_ uses Debianparthan uses Ubuntu#试图索引一个不存在的键将会抛出一个 keyError 错误。#可以使用 dict.get(key, default) 来索引键>>> data['foo']Traceback (most recent call last):File "<stdin>", line 1, in <module>KeyError: 'foo'>>> data.get('foo', 0) #dict.get(key,default)索引键值0#需要同时遍历两个序列类型,你可以使用 zip() 函数。>>> a = ['Pradeepto', 'Kushal']>>> b = ['OpenSUSE', 'Fedora']>>> for x, y in zip(a, b):... print("{} uses {}".format(x, y))...Pradeepto uses OpenSUSEKushal uses Fedora
Loops: It is easy to iterate over the keys in a dictionary:
这里遍历的是键值。
d = {'person': 2, 'cat': 4, 'spider': 8}for animal in d: #key legs = d[animal] #value print 'A %s has %d legs' % (animal, legs)# Prints "A person has 2 legs", "A spider has 8 legs", "A cat has 4 legs"
如果要获得键值对,可以使用iteritems
方法:
d = {'person': 2, 'cat': 4, 'spider': 8}for animal, legs in d.iteritems(): print 'A %s has %d legs' % (animal, legs)# Prints "A person has 2 legs", "A spider has 8 legs", "A cat has 4 legs"
字典的解析式
同列表一样,非常的简单:
nums = [0, 1, 2, 3, 4]even_num_to_square = {x: x ** 2 for x in nums if x % 2 == 0}print even_num_to_square # Prints "{0: 0, 2: 4, 4: 16}"
集合
集合,也就是没有顺序的,同时所有的元素都不相同的集合。A set is an unordered collection of distinct elements,用英文更好的表达其含义。集合同样是用花括号创建:
animals = {'cat', 'dog'}print 'cat' in animals # Check if an element is in a set; prints "True"print 'fish' in animals # prints "False"animals.add('fish') # Add an element to a setprint 'fish' in animals # Prints "True"print len(animals) # Number of elements in a set; prints "3"animals.add('cat') # Adding an element that is already in the set does nothingprint len(animals) # Prints "3"animals.remove('cat') # Remove an element from a setprint len(animals) # Prints "2"
集合的循环很列表一致:
animals = {'cat', 'dog', 'fish'}for idx, animal in enumerate(animals): print '#%d: %s' % (idx + 1, animal)# Prints "#1: fish", "#2: dog", "#3: cat"
- python快速入门教程
- Python快速入门教程
- Python快速入门教程
- Python 快速入门教程
- python django快速入门教程
- Python快速入门教程1:Python 基础教程
- Python快速入门教程2:Python 面向对象
- Python抓取框架Scrapy快速入门教程
- Python入门教程
- Python入门教程
- PYTHON 入门教程
- Python入门教程
- Python入门教程
- Python入门教程
- python 入门教程
- Python入门教程
- Python入门教程
- Python入门教程
- Java实现栈数据结构
- 组合数取模
- [JSPatch使用]OC转JS问题列表
- 使用JS实现选项卡和滑动门的效果
- poj3126 Prime Path BFS深度优先搜索
- Python 快速入门教程
- hdu 2196树形dp经典 树的最长路
- AVL树
- 第四周项目3-单链表应用(3)
- XML笔记-XML基础
- 二叉树中的度
- API性能测试基本性能指标及要求
- hdu 2089 不要62 【数位DP】
- github版本托管