Python开发02【第一个程序、基本语法、变量、条件语句、循环】

#编程成为爱好、代码改变世界...

一、Hello World 程序

两种方式编写代码。

1.用Python解释器来实现

Ctrl+R——》输入cmd进入管理员终端

1 C:\Users\Tab>python
2 Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:38:48) [MSC v.1900 32 bit (Intel)] on win32
3 Type "help", "copyright", "credits" or "license" for more information.
4 >>> print('Hello,World')
5 Hello,World

注:print(‘。。。’)的指令含义是:输出引号中的。。。

注:此种方法,有个缺点。如果不小心把窗口关闭了,代码就没有了,所以在实际工作中这种方式并不常用。

 

2.实际工作中,我们将代码保存在 .py文件中,然后在命令行下执行 Python,调用1.py ,就可以输出

注:这里我使用的编辑器是Notepad++!!!

1 #!/usr/bin/env python
2 # coding=utf-8
3 print("Hello,World")

第一行代码:是指在Linux下执行的时候,指出文件由 python解释器 来执行

第二行代码:告诉解释器在加载文件时,采用何种编码。不加上这行的话,在python2中显示中文会出现乱码,在python3中则不会。

注:如果用的是windows且用的是python3,其实可以不用加这两句,不过实际中还是建议加上这两句

二、内容编码

python解释器在加载 .py 文件中的代码时,会对内容进行编码,默认ASCII编码

注:ascii码无法表示中文

1、ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。

其最多只能用 8 位来表示(一个字节),即:2**8 = 256——》ASCII码最多只能表示 256 个符号

 

2、显然ASCII码无法将世界上的各种文字和符号全部表示——》需要新研究出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(万国码)是一种在计算机上使用的字符编码。

Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的是最少2个字节,可能更多。

注:至少16位来表示,那么有的时候会造成浪费,怎么办呢?

 

3、UTF-8:是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类。

如,ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存......

1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3  
4 print "你好,大龙"

第二行代码的意义就是:告诉解释器,是用 utf8 的编码形式来执行的

二、Python中的注释

当行注释:# 被注释内容

多行注释:""" 被注释内容 """

三、pyc文件

执行Python代码时,如果导入了其他的 .py 文件。

那么,执行过程中会自动生成一个与其同名的 .pyc 文件,该文件就是Python解释器编译之后产生的字节码。

注:代码经过编译可以产生字节码;字节码通过反编译也可以得到代码。

四、变量

现在,你已经可以用print(‘...’)输出你想要的结果了。但是,如果要让用户从电脑输入一些字符,怎么办?

Python提供了一个input()指令,可以让用户输入字符串‘...’, 并存放到某个变量中。

注:什么是字符串?

1 n1 = "BG" 
2 n2= """BG"""  
3 n3 = 'BG'   
4 n4='''BG'''
5 单引号和双引号都可以的,但只能是以上的形式
6  

1、声明变量

1 name = input('user-name:')
2 
3 print('name')

上述代码声明了一个变量,变量名为:name,变量name的值为:"user-name"

2、变量的作用

其实就是-昵称,它指代的是某个地址中保存的内容

3、变量定义的规则

-变量名只能是字母数字下划线的任意组合

-变量名的第一个字符不能是数字

-以下python关键字不能声明为变量名

'and', 'as', 'assert', 'break', 'class', 'continue', 'def',

'del', 'elif', 'else', 'except', 'exec','finally', 'for', 'from', 'global', 'if',

'import', 'in', 'is', 'lambda', 'not', 'or', 'pass',

'print', 'raise', 'return', 'try', 'while', 'with', 'yield'

五、用户输入

1 #!/usr/bin/env python
2 #_*_coding:utf-8_*_
3  
4 name = input("What is your name?")
5 print("Hello " + name )

输入密码时,如果想要不可见,需要利用getpass 模块中的 getpass方法,即:

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3   
 4 import getpass
 5   
 6 # 将用户输入的内容赋值给 pwd 变量
 7 pwd = getpass.getpass("请输入密码:")
 8   
 9 # 打印输入的内容
10 print(pwd)

六、流程控制、缩进

1、注释

#开头的语句是注释。

还可以使用'''xxx'''来进行多行注释。

实际的工作中,要养成写注释的良好习惯。

2、缩进

当语句以 冒号: 结尾时,后面的语句要缩进。——》意味着:这是子代码块。

Python的语法比较简单,采用缩进方式

 

 1    #下面先定义了变量a=1
 2    #a>0的时候,输出a
 3    #a<0的时候,输出a-
 4   
 5   
 6    a = 1
 7    if a >= 0:
 8        print(a)#代码块
 9    else:
10       print(a-)#代码块

注:一个Tab键代表4个空格,往往使用Tab键来进行缩进

七、条件语句

1、if基本表达式—— if...else

1 if 大龙== 小哥哥:
2     print("欢迎进入白马会所1")
3   
4 else:
5     print("欢迎进入白马会所2")
6 #如果大龙等于1,那么进入白马会所1。否则,进入白马会所2。

2、if支持嵌套

1 if 大龙== 小哥哥:
2 
3     if 大龙 == 身高180:#这是嵌套的if结构
4         print("欢迎进入白马会所1")
5     else:
6         print("欢迎进入白马会所2")
7 
8 else:
9         print("欢迎进入白马会所3")         

3、if 和 elif

 1 inp=input ('请输入会员级别:')  #声明变量
 2 
 3 if inp == “高级会员”
 4     print(”大美女”)
 5 elif inp = "中级会员"  #否则输出...
 6     print(“美女”)
 7 elif inp = "初级会员"  #否则输出...
 8     print (“小美女”)
 9 
10 else:         #都不满足,执行else...
11     print(“000”)
12 
13 
14 print(“大龙请进...”)    #跳出循环,去执行输出

注:pass 代表空代码,无意义

注:首行缩进,用4个空格,按TAB键即可

1 if 大龙==帅哥:
2     pass
3 else4     print'正确'

4、应用场景1:用户登陆验证(应用if...else)

 1 #!/usr/bin/env python
 2 # -*- coding: encoding -*-
 3 
 4 import getpass
 5 
 6 name=input ('请输入用户名...')    #声明变量
 7 pwd=getpass.getpass('请输入密码...')    #声明变量 
 8 
 9 if name=='大龙'and pwd='000'    #验证正确
10     print ('欢迎你,大龙!')    
11 else#验证错误
12     print'错误,请重新登陆!'

5、根据用户输入内容,输出其权限(应用elif...)

#要求:
# 大龙 --> 超级管理员
# Tony --> 普通管理员
# roy,rain --> 业务主管
# 其他 --> 普通用户


name = input('请输入用户名:')
  
if name == "大龙"print "超级管理员"
elif name == "Tony":
    print "普通管理员"
elif name == "roy" or name == "rain":
    print "业务主管"
    
else:
    print "普通用户"

6、应用场景三:猜年龄的游戏(应用elif...)

 1 #!/usr/bin/env python
 2 # -*- coding: utf-8 -*-
 3  
 4  
 5 my_age = 24    #实际年龄
 6  
 7 user_input = int(input("input your guess num:"))#声明变量
 8  
 9 if user_input == my_age:
10     print("Congratulations, you got it !")
11     
12 elif user_input < my_age:
13     print("think bigger!")
14     
15 else:
16     print("think smaller!")    

八、表达式"for loop"

1、最简单的,循环10次

代码:

1 #_*_coding:utf-8_*_
2 
3 
4 BG = '大龙'
5  
6 for x in range(10):    #x的范围是1-9、共10次
7 
8     print("loop:", x)    #输出 字符串+x 的值

输出:

loop: 0
loop: 1
loop: 2
loop: 3
loop: 4
loop: 5
loop: 6
loop: 7
loop: 8
loop: 9

注1:还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环

for x in range(10):

    if x<5:
        continue #不往下走了,直接进入下一次loop

    print("loop:", i )

注2:还是上面的程序,但是遇到小于5的循环次数就不走了,直接退出

for x in range(10):

    if x<5:
        break #不往下走了,直接跳出整个loop

    print("loop:", i )

九、while循环

1、基本格式

# while (条件):  
        (循环体)

# 如果条件 为真,那么循环体则执行
# 如果条件 为假,那么循环体不执行
     
while True:
    print("大龙')    

上面的测试测序是一个死循环,条件一直为真,不停输出 '大龙' 。

2、break 退出整个循环

while True:
    print(1break
    print(2)

上面的代码会先输出1,然后遇到break,就退出整个循环

所以不再打印出2

3、continue退出当前循环

 

while True:
    print(1continue
    print(2)

这段代码是会不停的输出1 1 1 1... ,为什么?

因为循环条件一直为真,遇到continue语句的时候,程序跳出当前循环,重新进入while循环

并不执行 print(2)语句。

十、"while loop"(对while的应用)

有一种循环叫死循环,一经触发,就运行个天荒地老、海枯石烂。

 1、"海枯石烂"代码

1 count = 0
2 
3 while True:
4     print("你是风儿我是沙,缠缠绵绵到天涯...",count)
5 
6     count +=1

2、"海枯石烂"代码,执行100次退出

 1 count = 0
 2 
 3 while True:
 4     print("你是风儿我是沙,缠缠绵绵到天涯...",count)
 5 
 6     count +=1#循环计数
 7 
 8     if count == 100:#判断是否达到100次
 9         print("说好的一起白头,你却偷偷焗油..")
10 
11         break

十一、作业练习 

    1、使用while循环输入 1 2 3 4 5 6     8 9 10

  2、求1-100的所有数的和

  3、输出 1-100 内的所有奇数

  4、输出 1-100 内的所有偶数

  5、求1-2+3-4+5 ... 99的所有数的和

  6、用户登陆(三次机会重试)

 

 

 

 

 

 

 

 

 
posted @ 2019-03-07 21:28  BG大龍  阅读(93)  评论(0)    收藏  举报