前言:
其实一开始写前言我是拒绝的,因为我觉得如果你是一个程序猿的话,至少要写个牛逼的代码来吸引各位看官,正如我前面所说,我真的是拒绝的,我写博文的原因只是为了记录自己学习的全过程,空杯心态,技术沉淀,希望能够遇到更完美的自己。
接下来,是我学习中的一点点小心得和点滴,来跟大家一起分享分享,水平有限,望包涵。
详细知识点
第一个知识点:
常言道:一个牛逼的程序员,需要精通各种语言的hello world,这是一种仪式感,很明显,我是一个很主要仪式感的人。
写个python的hello world! Let us go......
1 #!/usr/bin/env python 2 # Author: Leon xie 3 4 print("Hello World!!") 5
瞬间感觉已经成功了一大半了。嗯,距离成为python大神又近了一步...........
第二个知识点:
变量和字符编码
那么何为变量?
简单理解就是 变量的作用是存数和调用。同时还起到了标识存放数据的名称或路径。
打一个最简单的比方:
V1 = 22 和 Age = 22 ,大家觉得哪个最容易让你知道这个是干嘛的?
例如:
第一种写法
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 name = "xie di" 5 age = 21 6 7 print(name ,age) 8 输出效果 9 xie di 21 10 11 Process finished with exit code 0
第二种写法
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 v1 = "xiedi" 5 v2 = 21 6 7 print(v1,v2) 8 输出效果 9 xiedi 21 10 11 Process finished with exit code 0
很明显答案肯定是后者,很清晰明了。
小结:
从上可以看到,2种写法都能执行,但是,第一种写法的变量更容易让人知道是啥和有意义。变量最种要的就是标识你的数据。
注意:所有带引号的都会被python认为是字符串,python是分字符类型的,最典型的就是字符串。比如上面的 name = "xiedi"
复杂的变量写法:
大致就2种
第一: 下划线写法,举例
age_of_xiedi = 24
第二:驼峰语法
AgeOfXieDi
上面两种写法在工作中我推荐使用第一种。因为正如我上面所说,一切变量最重要的就是标识你的数据,能够一眼看明白它是干嘛的。
下面的写法是错误的:
age-of-xiedi
因为中横线代表减号,已经被其他的占用了。所以不能这么写。
变量的逻辑
例如:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 name = "xiedi" 5 name2 = name 6 print(name2,name) 7 8 输出结果为 9 xiedi xiedi
说明:
我给变量name赋值为xiedi ,然后给name2赋值为name变量,我打印2个变量,输出结果是一致。
那么我稍微做一个修改,我在下面接着给变量赋值
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 4 name = "xiedi" 5 name2 = name 6 print(name,name) 7 8 name = ‘banzhuan‘ 9 10 print(name,name2) 11 12 输出结果却是 13 xiedi xiedi 14 banzhuan xiedi
咦,name值变了,可以理解,但是为什么name2依旧还是原来的值?它不是跟name相等的么?接下来看下面图来解释一下为什么
图示已经很清楚了,我就不做过多解释了。
第三个知识点:
如何正确修改模板,自动添加环境及字符编码和作者信息
需要说明的就是,python3.X以上默认就是unicode,支持中文,只是2.7需要指定字符集,不过我们最好还是写上,因为很有可能你的代码需要在2.7上跑呢?
第四个知识点:
python的开发规范:
1、每行最多不能超过80个字符
2、注释有2种
第一种:
单行注释用#号,例如
#name = "xiedi"
第二种:
多行注释‘‘‘ 内容 ‘‘‘
注意:一定是英文字符的单引号或者双引号都可以,不过3个双引号写的有点多,还是3个单引号简单点。
例如:
‘‘‘ 每行最多80个字符 name = "xie di" age = 21 print(name ,age) ‘‘‘
第五个知识点
用户输入:
来吧,少年,写个简单的逻辑装装B
比如:程序启动的时候把用户的输入打印出来?
思路:
第一步:我要把用户的输入存起来,存到一个地方(user_input),并给它一个提示,告诉它要干什么
第二步:直接打印这个结果。
第三步:执行
代码如下:
#!/usr/bin/env python # -*- coding:utf-8 -*- # Author: Leon xie user_input = input("pls enter you name:") print("my name is",user_input) 执行结果 pls enter you name:xiedi my name is xiedi
很简单是不是,来我们接着打关升级..........
升级一:输入姓名,年纪,工作,收入,然后打印出来,为了方便我直接在原来代码上修改。
技巧1:快速复制,先将光标移到要复制那行,按住Ctrl +D 即可。
好,拿到这个题很兴奋啊,我第一个想法就是重复上面的不就可以了,太机智了,那我们写吧。
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author: Leon xie 4 5 name = input("pls enter you name:") 6 age = input("pls enter you age:") 7 job = input("pls enter job:") 8 9 print("my name is",name) 10 print("my age is",age) 11 print("my job is",job) 12 13 输出结果 14 pls enter you name:xiedi 15 pls enter you age:21 16 pls enter job:it 17 my name is xiedi 18 my age is 21 19 my job is it
果然,输出正常,太棒了,我还没入门就已经掌握了这么多行代码了,但事后来一想,这样是不是有点low,对啊,我能不能写的专业点呢?
这个时候要引入 通配符 % s 和 %d 了
说明:
%s : 在python里面代表字符串
%d : 在python里面代表整数
好,修改代码如下:
1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 # Author: Leon xie 4 5 name = input("pls enter you name:") 6 age = input("pls enter you age:") 7 job = input("pls enter job:") 8 9 msg = ‘‘‘ 10 info of user %s 11 ================== 12 13 Name : %s 14 Age : %d 15 Job : %s 16 17 =======End=========== 18 ‘‘‘%(name,name,age,job) 19 20 print(msg) 21 22 输出结果 23 pls enter you name:xiedi 24 pls enter you age:22 25 pls enter job:it 26 Traceback (most recent call last): 27 File "C:/Users/linux/PycharmProjects/study14/day1/t1.py", line 22, in <module> 28 ‘‘‘%(name,name,age,job) 29 TypeError: %d format: a number is required, not str 30 31 Process finished with exit code 1
报错了,提示是需要一个数字,而不是一个字符串,欸,我明明输了的是22啊?是数字啊?
后来才知道,我传的数字,但是在3.0种只要用input默认都是字符串,那怎么办呢?这个时候我要输入一个数字我就要把接受到的结果强制转换为数字
这个时候,引入一个新的语法 int
int : 作用,强制把接受到的结果转换为数字
修改位置:
1 age = int(input("pls enter you age:"))
输出结果
1 pls enter you name:xiedi 2 pls enter you age:22 3 pls enter job:it 4 5 info of user xiedi 6 ================== 7 8 Name : xiedi 9 Age : 22 10 Job : it 11 12 =======End===========
完美!!
升级二:
实现一个秘文的输入登录,就像登陆inux系统输入密码不显示一样。