Python学习--python入门

一、Python简介

Python在1989诞生,由Guido(龟叔)开发。Python是一种面向对象、解释型的计算机语言,它的特点是语法简洁、优雅、明确,尽量写容易看明白的代码,尽量写少的代码。许多大型网站都是用Python开发的,例如YouTube、Instagram、豆瓣等;

二、编译型语言和解释型语言

编译型语言:把写好的程序翻译成计算机语言后执行,就是所谓的一次编译到处运行,比如c、c++就是编译型语言,这样的语言特点是运行速度快,但要事先把程序编译好才可以。
解释型语言:程序运行时候通过一个解释器,把代码一句一句的翻译成计算机语言后运行,即写好代码之后直接就能运行。如Python、shell、ruby、javal等等都是解释型语言,它的执行速度并没有编译型语言快。

三、Python基础

命名规范,避免低级错误:

1.命名最好是英文字符、下划线_、数字组成,不要有特殊字符

2.项目名称、文件包名、模块名称等都应是英文开头,不能纯数字

3.脚本的名称不要与系统的模块或第三发模块重复

4.函数、类、方法、参数的名称不能跟系统有的名称重复

5.类名必须以大写字母开头,除了类名其他地方都以小写开头

最好遵循驼峰命名法和下划线法,如:apiDemo,api_demo

 

1、变量

1.1变量的定义规则:

1)变量名必须是大小写英文、数字和_的组合,且不能用数字开头

2)变量名要见名知意,不要用拼音会很low

3)Python中的关键字不能作为变量名

1.2变量赋值

在Python中,等号=是赋值语句。可把任意数据类型赋值给变量,同一个变量也可以反复赋值,而且可以是不同类型的变量

Python中变量赋值不需要指定数据类型,直接定义即可

 1 #定义变量就是为了在后面还要用到它的值
 2 #编程都是和内存打交道的。
 3 #见名知意
 4 
 5 age = 10  #int 类型
 6 name ='小白' #字符串类型  string
 7 socre = 89.98  #浮点型  float
 8 
 9 print(type(age))      #type 看变量是什么类型的
10 print(type(name))
11 print(type(socre))

理解变量在内存中的表示:Python变量里面存的是内存地址,即这个值存在内存里面的哪个地方。如上,Python解释器做了两件事:

1)在内存中创建了一个'小白'的字符串

2)在内存中创建了一个名为name的变量,并把它指向'小白'

也可以把一个变量a赋值给另一个变量b,这个操作实际上是把变量b指向变量a所指向的数据,如下:

1 a = '小白'
2 b = a
3 a = '小黑'
4 print('b =',b)
5 print('a =',a)

结果:

结果分析:

1)执行a = '小白',解释器创建了字符串'小白'和变量a,并把a指向'小白'

2)执行b = a,解释器创建了变量b,并把b指向a指向的字符串'小白'

3)执行a = '小黑',解释器创建了字符串'小黑',并把a的指向改为'小黑',但b并没有更改:

所以,最后结果为b = 小白,a = 小黑

 2、python中的单引号、双引号和三引号

python中定义变量时字符串都用引号括起来,单引号和双引号没有区别。

若字符串里面有单引号的话,外面就用双引号;里面有双引号的话,外面就用单引号。

如果既有单又有双,那么用三引号,三引号也可以多行注释代码,单行注释,使用#,如下:

1 msg = "I'm Lucy"  #有单引号,所以外面用双引号
2 info = 'Python comments ues "#".'  ##有双引号,所以外面用单引号
3 new_msg = '''I'm Lucy, I love "Python".'''  # 有双引号和双引号,所以外面用三引号
4 
5 '''
6 上面的代码是说明单引号、双引号和三引号的
7 这一段是注释,说明三引号也有多行注释的功能
8 '''

3、输入输出

print():输出,可以打印字符串、整数或计算结果;

1 print('hello!') # 打印字符串
2 print(300)  # 打印整数
3 print(100+200) # 打印计算结果,300

input():获取用户的输入,接收的是一个字符串返回是string类型;

name = input("please input your name: ")
print(name)

 

注:input接收输入时是可以看到输入的值的,若不想让别人看到输入的密码之类的值就需要用到标准库getpass。导入后直接使用getpass.getpass方法就可以在输入的时候不显示输入内容;(标准库:不需要再去安装,装完python就有的库)

import getpass  # 导入模块
pwd = getpass.getpass('enter your password: ')
print(pwd)

四、条件循环

Python中条件判断使用if else来判断,多分支的话使用if elif ... else;判读条件成立时,就执行该条件后面的语句

# input接收输入的值,全部都是string类型
age = int(input("请输入你的年龄:")) # 使用int()进行类型转化
if age<18:
    print('未成年人')
else:
    print('成年人')
# 多条件判断
score = input('请输入你的成绩:')
score = int(score)
if score>=90:
    print('优秀')
elif score>=75 and score<90 :
    print('良好')
elif score>=60 and score<75:
    print('及格')
else:
    print('不及格')

If语句的判断条件可用>、<、==(等于)、>=、<=(小于等于)、!=来表示其关系。若个条件一起进行判断,则需使用逻辑运算符and(且)、or(或者)、not(非、取反)

 五、循环

循环即是在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

Python中有两种循环:while和for。区别:

while循环之前先判断一次,如果满足条件的话,再循环;

for循环必须有一个可迭代的对象才能循环,比如说得有一个数组。Python中循环的是一个可迭代对象中的元素,你这个对象中有多少个元素就循环多少次,比如说一个数组list,list = ['a','b','c'],在Python里面就不需要直接循环就取的是这个list里面的值。

注:for和while都可以对应一个else,表示正常循环完后程序去做什么

1、while循环

 1 # while 循环
 2 count = 0 # count计数器,while循环必须有一个计数器
 3 while count < 10:  # 如果count小于10的话,就执行下面的代码,如果小于10就执行else之后的语句
 4     if count == 5:
 5         print('count值为5')
 6         break  # 如果count等于5的话,就结束循环
 7     count += 1  # 每次循环完,count的值加一,如果count值没有变化就成了死循环
 8 else:
 9     print('程序结束!')
10 # 这个else可以不写,意思是如果条件不满足了去干嘛

练习:随机生成1-100的整数,输入数字进行猜测随机生成的数字,每次提示猜大了还是小了限制只能猜3次

 1 import random
 2 num = random.randint(1,101) # 随机生成1-100的整数
 3 print(num)
 4 count = 0
 5 while count < 3: #限制只能输入3次
 6     guess = int(input('请输入你要猜测的数字: '))
 7     if guess == num:
 8          print('恭喜你猜对了,数字是:',num)
 9          break    #猜对时,立马结束游戏
10     elif guess < num:
11         print('猜小了')
12     else:
13         print('猜大了')
14     count += 1
15 else:
16     print('sorry,你的次数已经用完了!')

2、for循环

 for循环可以用来遍历某个对象(遍历:就是把循环中的第一个元素到最后一个元素依次访问一次)

1 for i in range(101):
2     print(i)  #依次输出1-100
3     #循环体

执行上面的代码,会依次打印出1-100:

1 names = ['Bob','Lucy','Lily']
2 for i in names:
3     print(i)

执行这段代码会依次打印出names中的每一个元素:

Bob
Lucy
Lily

3、break和continue

循环中两个重要的关键字:continue和break

continue:跳出本次循环,继续进行下一次循环;

break:停止循环,在continue和break下面的代码都是不执行的;

1 # continue跳出本次循环
2 names = ['Bob','Lucy','Lily']
3 for i in names:
4     if i == 'Bob':
5         continue
6     print(i)

执行结果:

Lucy
Lily
1 # break退出循环
2 names = ['Bob','Lucy','Lily']
3 for i in names:
4     if i == 'Lucy':
5         break
6     print(i)

执行结果:只打印出Bob,然后就停止循环

Bob

六、格式化输出

我们经常会输出类似'xxx您好,欢迎登录!'之类的字符串,而xxx的内容都是根据变量变化的,所以,需要一种简便的格式化字符串的方式。

三种格式化输出方式:

1、用“+”连接

直接把输出的字符串和变量连接起来就可以了,不推荐使用第一种会在内存中开辟多个内存空间;

2、用占位符,常用的有三种:%s、%d和%f

%s是后面的值是一个字符串,%d是后面的值必须是一个整数,%f后面是小数默认保留6位,只能保留小数位数格式:%.小数位数f;

3、使用{}和fromat方法

官方推荐是使用format方法,后面两种是只开辟一块内存空间;

1 name = input('请输入的你姓名:')
2 print('名字是:'+name) #使用+号连接
3 print('名字是:%s'%name) #使用占位符
4 print('名字是{your_name}'.format(your_name=name)) #使用format格式化输出,{}中的变量名自己定义
5 
6 # 多个格式化内容的
7 age = 18
8 print('我的名字是%s,年龄是%d岁.'%(name,age))

 

posted @ 2018-05-02 17:19  dd0917  阅读(244)  评论(0编辑  收藏  举报