O、解释型语言和编译型语言
编译型语言就是先把写好的程序翻译成计算机语言然后执行,就是所谓的一次编译到处运行,比如c、c++就是编译型语言,这样的语言特点是运行速度快,但是需要事先把程序编译好才可以。
解释型语言就是程序在运行的时候,通过一个解释器,把代码一句一句的翻译成计算机语言然后运行,也就是你写好代码之后直接就能运行,比如说python、shell、ruby、java、perl等等都是解释型语言,当然这样的语言由于原理不一样,执行速度并没有编译型语言快。
脚本语言就是指这个语言只有一个单一的功能。比如:shell、js。
一、运行 hello_world.py 时发生的情况
print("Hello world!")
运行文件上述代码时,末尾的.py指出这是一个Python程序,因此编辑器将使用Python解释器来运行它。 Python解释器读取整个程序,确定其中每个单词的含义。例如,看到单词print时,解释器就会将括号中的内容打印到屏幕,而不会管括号中的内容是什么。
注意:1、python2中不同,print "hello world!" ;
2、python2中要在开头部分加入:#coding=utf-8。
3、python3默认的字符集是Unicode,#python2里面默认的字符集是 ascii。
二、变量
message = "Hello world!"
print(message)
上述代码中,添加了一个名为message的变量。每个变量都存储了一个值——与变量相关联的信息。在这里,存储的值为文本“ Hello world!”。
添加变量导致Python解释器需要做更多工作。处理第1行代码时,它将文本“ Hello world!”与变量message关联起来;而处理第2行代码时,它将与变量message关联的值打印到屏幕。
变量的命名规则:
1、变量名只能包含字母、数字和下划线。变量名可以字母或下划线打头,但不能以数字打头,例如,可将变量命名为message_1,但不能将其命名为1_message。
2、变量名不能包含空格,但可使用下划线来分隔其中的单词。例如,变量名greeting_message可行,但变量名greeting message会引发错误。
3、不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用途的单词。如下图:
好的建议:
1、变量名应既简短又具有描述性。例如, name比n好, student_name比s_n好, name_length比length_of_persons_name好。
2、慎用小写字母l和大写字母O,因为它们可能被人错看成数字1和0。
三、单引号、双引号和三重引号
在Python中,用引号括起的都是字符串,其中的引号可以是单引号,也可以是双引号。甚至是三重引号来表示。
单引号:msg = "I'm Sriba." #有单引号,所以外面用双引号
双引号:'Python comments ues "#".' #有双引号,所以外面用单引号
三引号:'''I'm Sriba, i love "Python".''' #有双引号和双引号,所以外面用三引号
'''
上面的代码是说明单引号、双引号和三引号的
这一段是注释,说明三引号也有多行注释的功能
'''
四、输入input()函数
函数input()让程序暂停运行,等待用户输入一些文本。获取用户输入后, Python将其存储在一个变量中,以方便你使用。
message = input("Tell me something, and I will repeat it back to you: ") print(message)
函数input()接受一个参数:即要向用户显示的提示或说明,让用户知道该如何做。在这个示例中, Python运行第1行代码时,用户将看到提示Tell me something, and I will repeat it backto you:。程序等待用户输入,并在用户按回车键后继续运行。输入存储在变量message中,接下来的print(message)将输入呈现给用户。
注意:python2中使用raw_input,接收的是一个字符串。
五、if语句
每条if语句的核心都是一个值为True或False的表达式,这种表达式被称为条件测试。 Python根据条件测试的值为True还是False来决定是否执行if语句中的代码。如果条件测试的值为True,Python就执行紧跟在if语句后面的代码;如果为False, Python就忽略这些代码。
简单的 if 语句
if conditional_test:
do something
在第1行中,可包含任何条件测试,而在紧跟在测试后面的缩进代码块中,可执行任何操作。如果条件测试的结果为True, Python就会执行紧跟在if语句后面的代码;否则Python将忽略这些代码。
if-else 语句
经常需要在条件测试通过了时执行一个操作,并在没有通过时执行另一个操作;在这种情况下,可使用Python提供的if-else语句。 if-else语句块类似于简单的if语句,但其中的else语句让你能够指定条件测试未通过时要执行的操作。
sex = input('请输入你的性别:') if sex=='男' or sex=='女': print('ok的') else: print('人妖')
if-elif-else 结构
经常需要检查超过两个的情形,为此可使用Python提供的if-elif-else结构。 Python只执行if-elif-else结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后, Python将执行紧跟在它后面的代码,并跳过余下的测试。
score = input('请输入你的分数:') score = int(score) if score<60: print('不及格') if score>50: print('hahah') elif score<50: print('小傻瓜') else: print('-------') elif score>=60 and score<80: print('及格') elif score>=80 and score<90: print('良好') else: print('优秀')
六、循环
循环就是重复替你去干。循环需要指定一个循环结束条件,python提供两个关键字可以直接推出循环。
continue: 结束本次循环,继续进行下一次循环
break: 结束整个循环
pyhon中又两种循环,while循环和for循环。
while 循环
while循环不断地运行,直到指定的条件不满足为止。用while循环的,那么必须得有计数器。
count = 0 #计数器 while count<3: username = input('plz enter your userame:') pwd = input('plz enter your pwd:') if username=='nhy' and pwd=='123456': print('欢迎光临') continue else: print('账号/密码错误!') count+=1 else: print('错误次数过多')
for循环
for循环能够帮助我们做很多重复性的事情,比如批量命名、批量操作等。可以把for循环所做的事情概括成一句话就是:于...其中的每个元素,做...事情。
import random random_num = random.randint(1,1000) for i in range(3): num = int(input('请输入你猜的数字:')) if num>random_num: print('你猜的太大了') elif num<random_num: print('太小了') else: print('恭喜你猜对了,答案是:',random_num) break
循环应用猜数字游戏:
import random random_num = random.randint(1,1000) # print(random_num) while True: num = int(input('请输入你猜的数字:')) if num>random_num: print('你猜的太大了') elif num<random_num: print('太小了') else: print('恭喜你猜对了,答案是:',random_num) break
七、字符串格式化
什么是格式化输出呢,就是说把你的输出都格式化成一个样子的,比如说登录的欢迎信息,都是welcome to login,Marry. 每个用户登录都是这样欢迎,但是每个用户的用户名都是一样的,你不能一个用户就写一行代码吧,这就需要用到格式化输出了,有三种方式,第一种是用“+”连接,直接把输出的字符串和变量连接起来就可以了;第二种是用占位符,占位符有常用的有三种,%s、%d和%f,%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数;第三种是使用{}和fromat方法,这三种呢,官方推荐是使用format方法,不推荐使用第一种,第一种用加号的,会在内存里面开辟多个内存空间,而后面两种是只开辟一块内存空间,使用方式如下:
name = input('请输入你的名字:') print('你的名字是'+name) #使用加号连接 print('你的名字是%s'%name)#使用占位符 print('你的名字是{your_name}'.format(your_name=name)) #使用format格式化输出,{}里面的名字可以随便写但是要和后面的format中的名字保持一致,然后再把你前面定义的变量写到等号后面就可以了。 age = 18 print('我的名字是%s,年龄是%d岁.'%(name,age))#这种是里面有多个格式化内容的,前面那个是字符串,后面这个是整数,多个变量的后面跟值的时候必须要加上括号