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~10 的数字
- 第二步:再对数字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~100 的数字
- 第二步:再对数字进行求和
第一步代码如下:三种方法
#!/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