遇见python的helloworld(一个初学者的心酸路程)

前言:

其实一开始写前言我是拒绝的,因为我觉得如果你是一个程序猿的话,至少要写个牛逼的代码来吸引各位看官,正如我前面所说,我真的是拒绝的,我写博文的原因只是为了记录自己学习的全过程,空杯心态,技术沉淀,希望能够遇到更完美的自己。

接下来,是我学习中的一点点小心得和点滴,来跟大家一起分享分享,水平有限,望包涵。

详细知识点

第一个知识点:

常言道:一个牛逼的程序员,需要精通各种语言的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系统输入密码不显示一样。

时间: 2025-01-02 16:06:42

遇见python的helloworld(一个初学者的心酸路程)的相关文章

一个初学者的辛酸路程-装饰器-5

前言: 继续前进 基础回顾: 1.集合 集合有2个重要作用:关系测试(并集,差集,交集)和去重. 2.文件编码 2.7上默认文件编码是ASCII码,因为不支持中文,就出了GB2312,在2.7上要支持中文就必须申明文件编码以UTF-8的格式,UTF-8与GB2312的关系? UTF-8是Unicode的扩展集合,Unicode包括全国地区的编码,中国很多开始程序还是以GBK的格式,GBK向下兼容GB2312,Windows默认编码是GBK. Unicode为何要做出来?为了节省空间,存英文中文都

一个初学者的辛酸路程-socket编程-8

前言: 你会发现会网络是多么幸福的事情 主要内容: socket 概念: socket本质上就是2台网络互通的电脑之间,架设一个通道,两台电脑通过这个通道来实现数据的互相传递.我们知道网络通信都是基于IP地址加短裤的方法来定位到目标的具体机器上的具体服务.操作系统有0-65535个端口,每个端口都可以独立对外提供服务,如果把一个公司比做一台电脑,那公司的总机号码就相当于IP地址,每个员工的分机号就相当于短裤,你想找公司某个人,必须先打电话到总机,然后再转分机. 这里提到了OSI七层模型的概念:

一个初学者的辛酸路程-初识Python-1

前言 很喜欢的一句话,与诸位共勉. 人的一切痛苦,本质上都是对自己无能的愤怒----王小波. 1.初识Python 首先,我们需要认识下面这位人物. 他是Python的创始人,吉多范罗苏姆(Guido van Rossum).1989的圣诞节为了打法时间开发出来的.哎,想想,都是差距.... 下面的一些概览我们需要理解: 1.C语言编译完就是机器码 2.CPU可以直接读取机器码 3.Python是用C写的 4.Python解释器会把代码内容读到内存里,通过Python解释器翻译成字节码 5.CP

一个初学者的辛酸路程-前端cs

一.主要内容 继续CSS 二.CSS 第一个: postion 网页有一类就是返回顶部,一直在右下角,还有打开一个网页顶部有个菜单,滚动滑轮,顶部永远在上面. position: fiexd  ==>固定在页面的某个位置,他可以结合上下左右来控制他的位置. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Tit

一个初学者的辛酸路程-jQuery

前言: 主要概要: 1.HTML+CSS补充 2.DOM事件 3.jQuery示例 内容概要: 1.布局 代码如下 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> body{ margin:0; } .w{ width:980px; margin:0

一个初学者的辛酸路程-基于Django写BBS项目

前言 基于Django的学习 详情 登录界面 找个模板 http://v3.bootcss.com/examples/signin/ 右键,检查源码 函数 def login(request): errors = {} if request.method == "POST": username = request.POST.get("username") password = request.POST.get("password") user =

一个初学者的辛酸路程-线程与进程-10

前言: 不知道从什么时候起,面试总爱问线程与进程是神马?今天让你们爽个够. 主要内容:

Python批量修改一个目录文件名

#!/usr/bin/env python # -*- coding:utf-8 -*- import re  import os import time # str.split(string) 分割字符串 # '连接符'.join(list) 将列表组成字符串 def change_name(path): global i if not os.path.isdir(path) and not os.path.isfile(path): return False if os.path.isfil

python提供了一个进行hash加密的模块:hashlib

python提供了一个进行hash加密的模块:hashlib下面主要记录下其中的md5加密方式 import hashlib data1 = 'sada' #####字母和数字 m = hashlib.md5(data1.encode('utf-8')) print(m.hexdigest()) data='我是' #####中文 b = hashlib.md5(data.encode('gb2312')) print(b.hexdigest()) def md5(s): ####这是一个MD5