要想运行Python程序 我们首先需要下载一个Python IDLE来编译运行我们的程序。Python既可以作为服务端语言,也可以像其他语言一样输出HTML。Python给我最大的印象是它是对空格敏感的,缩进的形式取代了其他言语中的 花括号来区分代码块。下面来看个简单的例子:
print ("My first Python code!") print ("easier than I expected")
输出:
My first Python Code!
easier than I expected
挺简单 吧?Python是一个看起来很简单但是能够完成你能想象到的足够强大的功能 。大概就是简约而不简单吧,而且Python的语法也足够简洁。下面我来一点一点儿地揭开Python的神秘面纱吧
- 注释
Python的注释跟其他语言相比还是很不一样的,它使用起来相当简单。Python中分单行和多行注释。他们之间的区别想必有点儿语言基础的都应该深有体会...
单行 注释:
print("Not a comment") #print("Am a comment")
输出:Not a comment
多行注释:
''' print("We are in a comment") print ("We are still in a comment") ''' print("We are out of the comment")
输出:We are out of the comment
- 变量
变量是 包括Python在内的每个好的语言的核心。Python的变量十分敏捷,但也让人诟病。Python的变量在我们给它赋值的同时 也达到了声明的作用。
a = 0 b = 2 print(a + b)
输出:2
以上可以看出Python应该算是 比较智能的 能够根据我们赋的值来判断他们的类型 然后相加
a = "0" b = "2" print(a + b)
输出:02
可见,字符串也能够自动识别,那么当字符串和整数相加呢?这时就 需要使用Python自带的类型转换函数。
a = "0" b = 2 print(int(a) + b)
输出:2
让我们来大致瞥一眼,几个常用的函数吧:
- int(variable)---将variable转换成整数integer
- str(variable)---将variable转换成 字符串
- float(variable)---将variable转换成浮点类型小数
- 操作符
每个编程语言都有自己的操作符,Python也不例外,操作符在编程语言中大概可以分成5个不同的领域:算术、赋值、自增/自减、比较、逻辑。
算术运算符
print (3 + 4) print (3 - 4) print (3 * 4) print (3 / 4) print (3 % 2) print (3 ** 4) # 3 的4次方 print (3 // 4) #整除输出:7 -1 12 0.75 1 81 0
赋值运算符
a = 0 a+=2 print (a)
输出:2
- if语句
if语句作为编程语言逻辑的核心,在Python中也不例外。不过Python中的else if 缩短为elif
a = 20 if a >= 22: print("if") elif a >= 21: print("elif") else: print("else")
输出:else
Python的语法固然简单 但是我们需要注意的就更多了。在每个条件后面我们需要带上一个冒号,然后我们需要另起一行,并且空出4个空格 告诉Python,当这个条件满足时执行这段4个空格开头的代码。当然空格个数不一定是4个,它只是一个标准,你也可以是3。如果这段代码是多行的,你需要保持每行之前的空格数目一致。
- 函数/方法
方法在Python中分离你的代码是非常有用的。任何你觉得你会在很多地方使用的代码,最好放在方法里。你可以在你的 方法上添加参数让它更具有灵活性。定义方法需要我们在方法名前添加关键字def
def someFunction(): print("boo") someFunction()
输出:boo
以上可以看出,方法的定义其实很简单:def 加方法名()然后后面不要忘记加上一个冒号,方法体需要另起一行 缩进然后书写。
带参数的方法
def someFunction(a, b): print(a+b) someFunction(12,451)
输出:463
方法的作用域
def someFunction(): a = 10 someFunction() print (a)
以下会报 a 为定义异常:
a = 10 def someFunction(): print (a) someFunction(
- for循环
Python的for循环是相当棒的,相比其他语言功能强大而且非常简洁,我们将在稍后的集合讲解中慢慢体会它的简洁与强大。
for a in range(1,3): print(a)
输出:1
2
这里我仍然需要注意 print(a)是需要缩进的,这个例子中a作为变量进行自增,并且使用range方法设置a的开始和结束 但是不包含结束
- while循环
其实在Python里,while循环和for循环非常相似
a=1 while a < 10: print(a) a+=1
输出:大家懂得
注意:Python目前还不支持do-while循环
- 字符串
像其他语言一样,了解字符串是认识Python,比较重要的事情。拥有其他语言背景的都知道,字符串包含若干个字符组成,要求不是那么严格,几乎可以包含任何东西。
myString="" print(type(myString))
输出:<type 'str'>
type()方法用于获取变量的类型,它将是我们将来调试bug的好伙伴。
一些通用的字符串处理方法:
stringVar.count('x') - 计数stringVar中包含多少个‘x’字符
stringVar.find('x') - 返回字符'x'的位置
stringVar.lower() - 返回stringVar的小写形式
stringVar.upper() - 返回stringVar的大写形式
stringVar.replace('a','b') - 用字符'b'替换stringVar中的字符'a'
stringVar.strip() - 去除字符串stringVar头和尾的空格
字符串索引
想必看看例子基本都能明白是咋回事儿
a="string" print(a[1:3]) print(a[:-1])
输出:tr
strin
- 列表
Python中没有arrays但是我们有列表lists,它允许我们存储多个变量,而且提供方法来操纵存储的元素。
sampleList = [1,2,3,4,5,6,7,8,9] print(sampleList[1])
输出:2
像其他语言一样Python的起始下标也是0。当然这里存储的是一组数字,你也可以是一组字符串,要是你心情好也可是数字和字符串混合存储(尽管我们不提倡)。
使用for循环遍历lists
sampleList = [1,2,3,4,5,6,7,8,9] for a in sampleList: print(a)
输出:你懂的
通用的列表操作方法
.append(value) - 追加元素到list的结尾
.count('x') - 计数list中x的个数
.index('x') - 返回’x'在list中的索引
.insert('y','x') - 在'y'的位置插入'x'
.pop() - return 返回最后一个元素并从list中删除
.remove('x') - 从list中查找并删除'x'
.reverse() - 反转list中的元素
.sort() - 按照字符或数字递增排序list
- 元组
在Python中,元组等价与列表,既然是等价的为什么还搞出个元组呢?其实原因在于元组和列表之前有个区别,元组是不可改变的,也就是我们不能对元组中的元素进行CRUD操作。
myList = [1,2,3] myList.append(4) print(myList) myTuple = (1,2,3) print(myTuple) myTuple2 = (1,2,3) myTuple2.append(4) print(myTuple2)
输出:
[1, 2, 3, 4]
(1, 2, 3)
Traceback (most recent call last):
File "hello.py", line 9, in <module>
myTuple2.append(4)
AttributeError: 'tuple' object has no attribute 'append'
可见对Tuple追加操作是报错了。
但是要改变元组的元素也不是不可能,我们可以将元组转换成列表后,在进行修改。
myTuple = (1,2,3) myList = list(myTuple) myList.append(4) print(myList)
输出:[1, 2, 3, 4]
字典
Python中的字典跟其他语言,不太一样 它存储的是键值对
myExample = {'someItem': 2, 'otherItem': 20} print(myExample['otherItem'])
输出:20
或许你可能想print(myExample[1])是不是也可以?结果会报错:
Traceback (most recent call last):
File "hello.py", line 2, in <module>
print(myExample[1])
KeyError: 1
而且字典不允许不能的value对应相同的key值,也就是Python会覆盖掉相同的key的value
下面我们来看一个字典的另一个例子:
myExample = {'someItem': 2, 'otherItem': 20} myExample['newItem'] = 400 for a in myExample: print (a)
输出:newItem
otherItem
someItem
myExample = {'someItem': 2, 'otherItem': 20,'newItem':400} for a in myExample: print (a, myExample[a])
输出:('newItem', 400)
('otherItem', 20)
('someItem', 2)
格式化
Python的格式化跟C语言的printf挺像但是又有不同
print('The order total comes to %f' % 123.44) print('The order total comes to %.2f' % 123.444)
输出:
The order total comes to 123.440000
The order total comes to 123.44
对字符串进行格式化
a ="abcdefghijklmnopqrstuvwxyz" print('%.20s' % a)
输出:abcdefghijklmnopqrst
- 异常
在任何一门语言中,包括Python在内,在处理大量的变量时,异常和错误处理都是必须的。其实也是通过try扑捉异常 不过Python比较简化
var1 = '1' try: var1 = var1 + 1 # since var1 is a string, it cannot be added to the number 1 except: print(var1, " is not a number") #so we execute this print(var1)
输出:('1', ' is not a number')
1
这里依然需要重点 注意这里的缩进
我们一般扑捉处理异常 按照如下,让程序遇到异常后仍然可以继续运行
var1 = '1' try: var2 = var1 + 1 # since var1 is a string, it cannot be added to the number 1 except: var2 = int(var1) + 1 print(var2)
- 文件读取
大多数情况下,我们总需要读取一个日志或者xml文件,不要担心,Python为我们提供了比较简单的文件读取api
test.txt
I am a test file. Maybe someday, he will promote me to a real file. Man, I long to be a real file and hang out with all my new real file friends.打开test.txt文件:
f = open("test.txt","r")然后我们就可以具体的操作这个文件了
f = open("test.txt","r") a = f.readline() b = f.read(1) c = f.read() print(a) print(b) print(c)
输出:
I am a test file.
M
aybe someday, he will promote me to a real file.
Man, I long to be a real file
and hang out with all my new real file friends.
运用for循环读取test.txt文件
f=open("test.txt","r") myList = [] for line in f: myList.append(line) print(myList)
输出:
['I am a test file.\n', 'Maybe someday, he will promote me to a real file.\n', 'Man, I long to be a real file\n', 'and hang out with all my new real file friends.']
最后,我们需要注意:不要忘记关闭我们的文件链接 释放内存
f = open("test.txt","r") print(f.read()) f.close()
- 文件写入
读取文件时很爽的,当然写入文件也是很有趣的。但是我们在写入文件时需要有一定的危机感,因为我们很有可能在一瞬间覆盖和丢失内容。写入文件的api跟读取一样简单。
f=open("test1.txt","w") f.write("hello world,Sonicery_D!") f.close()如果我们要想对一个文件的内容,进行追加怎么办呢?
f=open("test1.txt","a") f.write("I'm Pythoner!") f.close()这样就完成了内容的追加。
open方法 的第二个参数,"w"表示写 会覆盖以前的内容 "a" 表示append 是在之前的内容上进行追加 。
- 类
如果你没有OOP编程经验可能会觉得这部分内容比较复杂。类不仅可以帮助我们消除冗余的代码,而且能够帮助我们节省时间,例如,我们将方法定义在类中,当我们需要修改这个方法时,我们只需要修改在这个类中的方法定义即可,不需要像之前一样在每个此方法分散的地方都进行 修改。下面让我们来看看Python是如何进行类定义的吧。
#ClassOne.py class Calculator(object): #define class to simulate a simple calculator def __init__ (self): #start with zero self.current = 0 def add(self, amount): #add number to current self.current += amount def getCurrent(self): return self.current
def __init__(self):定义了类的初始化方法 参数self用于辨别方法是属于哪个对象实例 故而add方法需要添加self参数
类对象的创建 与方法调用:
from ClassOne import * # 从ClassOne文件中 引入类 myBuddy = Calculator() #创建Calculator对象myBuddy myBuddy.add(2) #调用myBuddy的add方法 print(myBuddy.getCurrent()) #打印myBuddy当前的变量值
Python的基本语法就基本介绍完了,如果想要深入学习Python,仍然需要我们针对具体内容具体学习。本篇内容可能过于简单,仅供参考
相关推荐
python入门Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明Python入门-基础知识-背记手册-使用说明...
Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门...
《简明Python教程》(原名《A Byte of Python》)是一本由Swaroop C H编写的自由图书,旨在为编程入门者提供一个使用Python语言进行编程的快速入门指南。这本书自首次发行以来,凭借其简洁明了的风格和丰富的实例,...
Python-02-Python入门.md
【Python入门基础知识】 Python是一种广泛使用的编程语言,尤其适合初学者和小学生学习。它以其简洁易懂的语法和丰富的库支持而备受青睐。在“小学生python入门-极度舒适的全套Python入门教程”中,主要介绍了以下...
Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门...
python-gtk 2013年7月31日 python入门基础教程:python-gtk全文共15页,当前为第1页。 安装 sudo aptitude install python-gtk2 文档 ...
《byte-of-python-chinese-edition》即《简明Python教程》,是一本面向初学者的Python入门教程书籍。由Swaroop C H所著,本书的宗旨是向读者介绍如何使用Python语言进行编程。2005年,沈洁元翻译了本书的1.20版,并...
Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门到精通学习教程--Python零基础入门到精通Python零基础入门...
《Python编程-入门到精通源代码》是一本旨在引导初学者深入理解并熟练掌握Python编程语言的书籍。这本书以其清晰的结构和丰富的示例代码深受读者喜爱,特别适合那些希望快速入门并逐步提升Python技能的人群。通过...
【零基础Python入门--课件&代码】是专为初学者设计的Python学习资源,包含课件和实例代码,旨在帮助没有编程经验的人轻松迈入Python编程世界。本资源结合了博主的博客内容,提供了丰富的学习材料,帮助学习者系统...
这里的“python-3.6.8-amd64.exe”是一个针对64位Windows操作系统的Python 3.6.8安装程序,适用于Windows 7和Windows 10系统。 Python 3.6.8是Python语言的一个特定版本,它在2018年发布,包含了该系列版本的多项...
Educoder题目:Python入门-绘制炸弹轨迹 ※答案解析.md
Python是一种广泛使用的高级编程语言,尤其适合初学者入门。在这个"02-python-入门-数据类型-数字变量-字符串-索引和分片"的学习笔记中,我们将深入探讨Python的基础知识,包括数字变量、数据类型以及字符串的索引和...
这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,...
这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,...