前言:35岁了,工作10年了,一直很排斥学软件编程,但是IT这条路一路走来发现如果不改变这辈子就这样了!
学Python是意外,也是缘分。前年的时候就看到有同事学这,那时他刚参加工作不久。今年他从我们公司走了,
学习资料的来源。免费课程很坑,直播的时间我老是有事,录播的视频老是不给更新。所以我就从网上买了一份Python的学习视频,这就开启了我想学Python之路。
视频情况。一开始网上买的视频资料很多,没有头绪。然后听了一两节感觉没有方向,没有适合自己的。直到我找到其中一个视频,老师很牛,我觉得讲得挺好,
可惜我这地方没有这样的培训。
从现在开始,写文章记录学习情况,以及自己的一周学习的感受。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第一周学习情况如下:
一、对Python的介绍
二、Python安装和使用
三、初试身手
四、变量和字符
五、用户交互登陆
六、流程判断 if else
七、循环语句
第一章:对Python的了解
a老师讲得很细,包括了排名、创始人、语言的由来、经历的版本、Python是解释型,动态型巴拉巴拉,讲得真好……但是对我这编程小白来说,
就只能当听说书先生说的开场白,也许a老师有铺垫或者其中穿插了什么重要信息我并没有听出来。所以我决定在我学到第25周的后,
再回头来看a老师第一章对Python的介绍,也许与我现在的感触完全不一样。
第一章最重要的两个信息是:1.学好Python需要大半年,老师的班去年讲到今年都没有讲完的。可是我等不了,我需要加快速度。
2.学完Python我接着学go。
第二章:Python安装和使用环境
之前听的课程和a老师讲的课程都是在windows环境下,但是安装的Python版本有所不同,腾讯的免费视频说现在2.7版本在实际使用环境中比较多,
但a老师使用的是3.5版本的,a老师说得一席话我觉得还是很有道理的,我总结如下:为什么要使用3.5,因为客户的升级是应该由我们做运维的带动,
如果我们都不去帮助客户升级,我们的未来就会被动挨打。
其次使用的解释器也不一样,在《笨办法》中使用的是Notepad,a老师让我们使用Pycharm。嗯我这小白看不出来好坏,还是跟着老师来吧。
安装调试都没问题,注意安装windows标准的安装包,有支持CPU是AMD版本的就安装不了。
第三章:初试身手
使用 print("Hello World!")几种方式进行打印测试。
1.测试print (Hello World!) 错误输出如下:
提示 line1有问题
SyntaxError: invalid character in identifier #字符无效
2.测试 print ('Hello World!')
正常!
3.测试 print('Hello World!'),去掉print后的空格。
正常!
第四章:变量和字符
变量定义的规则:
- 变量名只能是 字母、数字或下划线的任意组合
- 变量名的第一个字符不能是数字
- 以下关键字不能声明为变量名['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']这么多一下把人干蒙了,其实不用死记,以后使用习惯就好。
变量赋值测试:
name = "sugod"
print (name)
测试以下几种形式:
1.name = sugod
print(name)
报错:NameError: name 'sugod' is not defined
2.name = 'sugod'
print("name")
打印出结果为:name #单引号或双引号表示打印字符,不加符号表示被赋值的变量
3. name = 'sugod'
name2 = name
print (name,name2)
结果:sugod sugod
4.name = 'sugod'
name2 = name
name = 'susu'
print (name,name2)
结果:susu sugod #程序的运行是严格按照语句顺序运行,虽然已经将name赋值给了name2,name再此之后又进行一次赋值,
但是name2并没有
字符:
python解释器在加载.py文件中代码时会对内容进行编码,如果中间出现中文在2.7版本中会出现报错,例如:
print ("你好,世界")
需要在文件之前添加 : #_*_coding:utf-8_*_#
不过这一个问题在3.5中不需要,同时通过解释器的设置也能解决。
注解问题:# 一行注解,"""……"""/'''……'''多行注解
变量名问题:多个变量名组合使用“_”分隔开,尽量使用英文。可惜我英语很差,要学习的地方很多啊!————2017/6/11 23:27
将注释的多行打印出来:
su = '''
name = 'sugod'
name2 = name
name = 'susu'
print (name,name2)
'''
print (su)
输出结果:
name = 'sugod'
name2 = name
name = 'susu'
print (name,name2)
第五章:用户交互登陆
1.测试简单账户登陆
username = input("username:")
password = input("password:")
print (username,password)
输出结果:
username:输入内容
password:输入内容(明文)
su 123456 #打印输入内容结果
----密文加密,调用标准库,getpass----
import getpass #调用库
username = input("username:")
password = getpass.getpass("password:")
print (username,password)
2.测试录入信息动作
指定输入内容后按要求排列输出:
name = input ("name:")
age = input ("age:")
job = input ("job:")
salary = input("salary:")
info = '''
--------- info of %s---------
name :%s
age:%s
job:%s
salary:%s
'''%(name,name,age,job,salary)
print (info)
输出结果:输入部分省略
---------info of su----------
name:su
age:33
job:it
salary:8888
注意以上%s为格式化符,输出一个字符,还有%d整数输出。将age:%s-->age:%d ,同时要将之前的赋值也进行更改age = input ("age:")-->age = int(input("age:"))
%f浮点数,可以输出小数点
注意检查函数的类型使用:print (type("age:"))
注意在python2的版本中name = raw_input("name:")
在Python3的版本中name = input("name:")
info另外两种的用法:
info2 = '''
--------------info of {_name}-----------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.format(_name=name,_age=age,_job=job,_salary=salary)
print(info2)
info3 = '''
----------info of {0}---------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(_name=name,_age=age,_job=job,_salary=salary)
print(info3)
第六章:流程判断 if else
简单的流程判断
1.列举了通过核对用户登陆名以及密码的正确性:
_username = "sugod"
_password = "abc123"
username = input("username:")
password = input("password:")
if _username == username and _password == password:
print("Welcome user {name} login ...".format(name=username))
else:
print("Invalid username or password!")
注意在输入if的时候最后会有“:”,同时下一行会缩进,不能顶格写,会报错IndentationError
else的情况也同上。-----2017-06-12 23:14:07
2.判断年龄大小
sugod = 35
guess_age = int(input('guess age:'))
if guess_age == sugod :
print("yes, you got it.")
elif guess_age > sugod :
print("think smaller ...")
else :
print ("think bigger...")
注意guess_age赋值的时候要与sugod相同,所以需要给出整数型定义int()
第七章:while 语句 循环
1.简单的循环语句如下:
count = 0 #计数器
while True:
print("count:",count)
count = count +1 #也可以写成count +=1
if count == 1000:
break #跳出循环
2.用户登陆判断:
sugod = 35
while Ture:
guess_age = int(input('guess age:'))
if guess_age == sugod :
print("yes, you got it.")
break
elif guess_age > sugod :
print("think smaller ...")
else :
print ("think bigger...")
注意格式,while在最外一层,赋值和if/elif/else第二层,判断后输出第三层。一旦出问题就会报:IndentationError: expected an indented block
3.以上循环在输入有错的情况下会无限循环下去,现在测试限制输入次数,3次
sugod = 35
count = 0
while Ture:
if count == 3:
break
print("login out ...")
guess_age = int(input('guess age:'))
if guess_age == sugod :
print("yes, you got it.")
break
elif guess_age > sugod :
print("think smaller ...")
else :
print ("think bigger...")
count +=1
4.以上优化后结果如下:
sugod = 35
count = 0
while count < 3:
guess_age = int(input('guess age:'))
if guess_age == sugod :
print("yes, you got it.")
break
elif guess_age > sugod :
print("think smaller ...")
else :
print ("think bigger...")
count +=1
if count == 3: #优化-->else :
print("login out ...")
for 循环语句
1.简单的for循环语句如下:
for i in range(10):
print("loop",i)
2.将while循环改编成for循环,省去count,如下:
sugod = 35
for i in range(3):
guess_age = int(input('guess age:'))
if guess_age == sugod :
print("yes, you got it.")
break
elif guess_age > sugod :
print("think smaller ...")
else :
print ("think bigger...")
else :
print("login out ...")
3.简单循环语句输出间隔结果
for i in range(0,10,2): #从0开始到10,隔一个数打印一次,所以()内最后一个2是指步长
print("loop",i)
输出结果:
loop 0
loop 2
loop 4
loop 6
loop 8
4.复杂判断循环
sugod = 35
count = 0
while count < 3:
guess_age = int(input('guess age:'))
if guess_age == sugod :
print("yes, you got it.")
break
elif guess_age > sugod :
print("think smaller ...")
else :
print ("think bigger...")
count +=1
if count == 3:
countine_confirm = input("do you want to go on?")
if countine_confirm != 'n':
count = 0
else :
print("login out ...")
注意格式,if语句最后有冒号不能遗漏
5.continue函数用法,跳出本次循环,继续到下次循环
for i in range(0,10):
if i <3:
print("loop",i)
else:
continue
print("ok")
加断点,Debug测试
6.复杂循环语句:
6.1 循环套循环,执行10*10次
for i in range(10):
print('------',i)
for j in range(10):
print(j)
6.1 循环套循环,break 跳出本次小循环,执行10*6次
for i in range(10):
print('------',i)
for j in range(10):
pirnt(j)
if j > 5:
break
---------------------------------------------------2017-06-13 20:50:59