python开发 初始python day1_mine

一、python 的第一个脚本

#!/usr/bin/env python 
print 'hello world'

 

二、注释

  • 当行注视:# 被注释内容
  • 多行注释:""" 被注释内容 """
  • 多行注释还是用在字符串上,表示变量名的 内容格式不变如:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
name = 'alex'
print(name)
obj = """
    锄禾日当午
    汗滴禾下土
    谁知盘中餐
    粒粒皆辛苦
"""
print(obj)

 

三、 执行脚本输入参数

Python有大量的模块,从而使得开发Python程序非常简洁。类库有包括三中:

  • Python内部提供的模块
  • 业内开源的模块
  • 程序员自己开发的模块

Python内部提供一个 sys 的模块,其中的 sys.argv 用来捕获执行执行python脚本时传入的参数

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import sys
print sys.argv

四、pyc 文件

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

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

五、变量

1、声明变量 name 

2、对变量name 进行赋值

3、打印出变量name

#!/usr/bin/env python
# -*- coding: utf-8 -*-
name = "wupeiqi"
print (name)

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

变量定义的规则:

  • 变量名只能是 字母、数字或下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • ['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']
  • python变量命名采用驼峰式命名或者下划线命名  ru:carOfName  或者 car_of_name

六、 输入

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 将用户输入的内容赋值给 name 变量、paswd 变量
name = raw_input("please input your names:")
paswd = raw_input ('please input your paswd:')
# 打印输入的内容
print (name)
print (paswd)

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

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import getpass
# 将用户输入的内容赋值给 name 变量、paswd 变量
name = raw_input("please input your names:")
paswd = getpass.getpass ('please input your paswd:')
# 打印输入的内容
print (name)
print (paswd)


 

七、流程控制和缩进 

需求一、用户登陆验证 

#!/usr/bin/env python
#-*-coding:utf-8 -*-
# 提示输入用户名和密码
# 验证用户名和密码
#     如果错误,则输出用户名或密码错误
#     如果成功,则输出 欢迎,XXX!
 
import getpass 
name = raw_input('please input your name:')
pwd = getpass.getpass('please input your paswd:')
  
if name == "alex" and pwd == "cmd":
    print "login sucess"
else:
    print "username or pwd  error "
	
	

需求二、根据用户输入内容输出老师的级别

#!/usr/bin/env python
#-*-coding:utf-8 -*-
# 根据用户输入内容打印出老师的级别 
# alex --> gao  ji lao shi
# eric --> zhong ji lao shi
# tony,rain --> yi ban lao shi
# 其他 --> bu ji ge lao shi
name = raw_input ('please input your name:')
if name == 'alex':
	print ('gao  ji lao shi')
elif name == 'eric':
	print ('zhong ji lao shi ')
elif name == 'tony' or name == 'rain':
	print ('yi ban lao shi ')
else:
	print ('bu ji ge lao shi ')
 
 
 

八、while 循环

1、基本循环

while 条件:
     
    # 循环体
 
    # 如果条件为真,那么循环体则执行
    # 如果条件为假,那么循环体不执行

  2、break     注意:break用于退出所有循环

#!/usr/bin/env python
#-*-coding:utf-8 -*-
while True:
    print "123"
    break
    print "456"

 3、continue  注意:continue用于退出当前循环,继续下一次循环 

#!/usr/bin/env python
#-*-coding:utf-8 -*-
# 输出结果会不停的打印123 ,因为continue只会退出本次循环,continue下面的代码不会再执行,但是循环会继续执行
#这就是continue 和break 的区别 。break会直接跳出循环
while True:
    print "123"
    continue
    print "456"

4、break和continue的区别

#!/usr/bin/env python
#-*- coding:utf-8 -*-
num = 1
while num<=10:
    if num == 6:
        num +=1
        # continue #  break和continue的区别: break是彻底的停止掉当前层循环. continue停止当前本次循环,继续执行下一次循环
        break # 不会触发else的执行,  while...else...是一个整体. break的时候彻底的停止这个整体
    print(num)
    num +=1
else:
    print('我啥也不说i')
print('程序执行完毕')

 

 

九、import time 模块的使用

#!/usr/bin/env python
#-*-coding:utf-8 -*-
import time
while True:
	print ('zhen')
	time.sleep(1)

注意:time.sleep(1) 是表示每隔一秒钟输出一个

十、使用博客的小技巧

1、随笔,只要别人进入你的博客,就能看到
2、如果你发的是文章,别人进入去后默认别人是看不到的,只有你把地址给别人,别人才能看到。
3、如果你写的东西还没有成型,可以先写成文章。文章可以转成随笔,让别人看到
4、日记,只有自己登录到后台自己可以看。
5、日记不能转成文章和随笔

十一、如何打印出汉字 unicode 没有声音,没看明白

#!/usr/bin/env python
#-*- coding:utf-8 -*-
"""
#py2
temp ='李杰' # utf-8
#解码,需要指定原来是什么编码
temp_unicode=temp.decode('utf-8')
print (temp_unicode)
#编码,需要指定原来是什么编码
temp_gbk=temp_unicode.encode('gbk')
print (temp_gbk)
#windows终端 是gbk
"""
"""
#py3
#py3 ,自动转换utf-8 unicode gbk 
#py3 ,移除了python的unicode 类型
temp ='李杰'
#自动转换 utf-8 unicode  gbk 
temp_gbk=temp_unicode.encode('gbk')
print (temp_gbk)
"""


ceshi ='李杰' # utf -8 
ceshi_unicode=ceshi.decode('utf-8')
ceshi_gbk=ceshi_unicode.encode('gbk')
print (ceshi_gbk)

  

练习题

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

答案和思路如下:

  1. 第一步:先打印出 1~10 的数字
  2. 第二步:再对数字7进行特殊处理,不让它打印出即可

第一步代码如下三种 方案:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
"""
# 方法 一、
start = 1
while start<11:
	print (start)
	start +=1
#或 start = start +1
"""

"""
# 方法 二、
start = 1
while True:
	print (start)
	start = start +1
	if start == 11:
		break
"""
#方法 三、		
start = 1
while True:
	print (start)
	if start == 10:
		break
	start = start +1
	

第二步代码如下: 三种方法 (对7 进行特殊处理,就是不进行打印) 

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# 方法 一、
start = 1
while start<11:
	if start == 7:
		start = start +1
		continue
	print (start)
	start +=1
#或 start = start +1


"""
# 方法 二、
start = 1
while True:
	if start == 7:
		start +=1
		continue
	print (start)
	start = start +1
	if start == 11:
		break
"""
"""
#方法 三、		
start = 1
while True:
	if start == 7:
		start +=1
		continue
	print (start)
	if start == 10:
		break
	start = start +1
"""
	

  

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

答案和思路如下:

  1. 第一步:先打印出1~100 的数字
  2. 第二步:再对数字进行求和

第一步代码如下:三种方法

#!/usr/bin/env python
#-*- coding:utf-8 -*-
"""
#方法一
start = 1
while True:
	print (start)
	if start == 100:
		break
	start +=1
"""	
"""
#方法二
start = 1
while start <=100:
	print (start)
	start +=1
"""	 
#方法三
start = 1
while True:
	print (start)
	start +=1
	if start == 101:
		break

 第二步代码如下: 三种方法

 

#!/usr/bin/env python
#-*- coding:utf-8 -*-
#方法一
start = 1
v_sum = 0
while True:
#	print (start)
	v_sum = v_sum + start
	if start == 100:
		break
	start +=1
print (v_sum)	

"""
#方法二
start = 1
v_sum = 0
while start <=100:
#	print (start)
	v_sum += start
	start +=1
print (v_sum)	
"""
 
"""
#方法三
start = 1
v_sum = 0
while True:
#	print (start)
	v_sum = v_sum +start
#或 v_sum +=start	
	start +=1
	if start == 101:
		break
print (v_sum)	
"""	

  

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

 

答案如下:

#!/usr/bin/env python
#-*- coding:utf-8 -*-

#方法一
start = 1
while start <=100:
	if start %2 ==0:
		start += 1
		continue
	print (start)
	start +=1


"""
#方法二
start = 1
while start <=100:
	temp = start % 2
	if temp == 0:
		pass
	else:
		print (start)
	start +=1
"""

  

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

 

答案如下:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
"""
#方法一
start = 1
while start <=100:
	if start %2 ==1:
		start += 1
		continue
	print (start)
	start +=1
"""

#方法二
start = 1
while start <=100:
#如果是偶数 输出,否则不输出
	temp = start % 2
	if temp == 0:
		print (start)
	else:
		pass
	start +=1

  

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

 答案:第一种不打印出表达式,只打印出答案

#!/usr/bin/env python
#-*- coding:utf-8 -*-


#输出1到 10 的 数据,并且 是  奇数加  偶数 减
#25-30
#0+1-2+3-4+5-6+7-8+9-10
#方法 一、
start = 1
v_sum = 0
while True:
	if start %2 == 1:
		v_sum += start 
#		print (start)
#		print ('ji shu')
	else:
		v_sum -= start 
#		print ('ou shu')
	if start == 99:
		break
	start += 1
print (v_sum)	


"""
# 方法二、
start = 1
v_sum = 0
while start <100:
	temp = start % 2
	if temp == 1:
		v_sum += start
	else:
		v_sum -= start
#	print (start)
	start += 1
print (v_sum)	
"""

  第二种 不仅打印出答案,也打印出表达式 如下:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
#方法 一、
start = 1
v_sum = 0
s = ''
while True:
	if start %2 == 1:
		if start == 1:
			s = str(start)
		else:
			s = s + '+' + str(start)
		v_sum += start 			
	else:
		v_sum -= start
		s= s + '-'+ str(start)
#		print ('ou shu')
	if start == 100:
		break
	start += 1
print (s)	
print (v_sum)	


"""
#方法二
start = 1
v_sum = 0
s=''
while start <100:
	temp = start % 2
	if temp == 1:
		if start == 1:
			s = str(start)
		else:
			s = s + '+' + str(start)
		v_sum += start
	else:
		v_sum -= start	
		s = s + '-' + str(start)
#	print (start)
	start += 1
print (s)	
print (v_sum)	
"""

  

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

答案如下:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
i = 1
while i<=3:
	name = raw_input ('please input your name:')
	paswd = raw_input ('please input your paswd:')
	if name == 'alex' and paswd == '123':
		print ('login success')
		break
	else:
		print ('login fail')
#	print (i)	
	i += 1

  

 

posted @ 2017-07-23 15:42  奋斗的小孩_小小鸟  阅读(148)  评论(0编辑  收藏  举报