返回顶部
首页 > 资讯 > 后端开发 > Python >Python3.5学习之旅——day1
  • 526
分享到

Python3.5学习之旅——day1

之旅 2023-01-30 22:01:48 526人浏览 安东尼

Python 官方文档:入门教程 => 点击学习

摘要

本节内容: 1、python介绍 2、Hello World程序    3、变量\字符编码 4、用户输入 5、if-else语句 6、循环语句   一、Python介绍 Python是一种动态解释性的强类型定义语言,主要应用在云计算,we

本节内容:

1、python介绍

2、Hello World程序   

3、变量\字符编码

4、用户输入

5、if-else语句

6、循环语句

 

一、Python介绍

Python是一种动态解释性的强类型定义语言,主要应用在云计算web开发,科学运算、人工智能,系统运维和金融等领域。

1、Python的优缺点

优点:

  • 简单,易懂。
  • 开发效率高,Python具有非常强大的第三方库。
  • 高级语言。
  • 可移植性——开源本质。
  • 可扩展性——可以把一段关键代码运行地更快或希望某些算法不公开,可把部分程序用C或c++编写,然后在Python程序中使用。
  • 可嵌入性。

缺点:

  • 速度相对较慢。
  • 代码不能加密。如果项目要求源代码必须是加密的,则不能使用Python。
  • 线程不能利用多CPU问题。

2、Python解释器

当我们编写Python代码时,我们得到的是一个包含python代码的以.py为扩展名的文本文件,要运行代码,就要靠Python解释器来执行.py文件。

以下为几种常用的Python解释器。

  • CPython——使用最广的Python解释器

  • IPython

  • PyPy

  • Jython

  • IronPython

3、Python 2 与 3的区别

In summary : Python 2.x is legacy, Python 3.x is the present and future of the language

Python 3.0 was released in 2008. The final 2.x version 2.7 release came out in mid-2010, with a statement of extended support for this end-of-life release. The 2.x branch will see no new major releases after that. 3.x is under active development and has already seen over five years of stable releases, including version 3.3 in 2012, 3.4 in 2014, and 3.5 in 2015. This means that all recent standard library improvements, for example, are only available by default in Python 3.x.

具体而言,Python 3 相较 2 的优势体现在 3 支持 Unicode support,也就是说,在Python 3 中不必再为繁杂的字符编码而烦恼,例如 3 可以直接写中文!

还有一个不同之处就是某些库在 3 中有了变化,具体如下:

old new
_winreg winreg
             ConfigParser configparser
copy_reg copyreg
Queue queue
SocketServer socketserver
markupbase _markupbase
repr reprlib
test.test_support test.support

二、Hello World程序   

下面演示用Python编写helloworld程序,这里我使用的开发工具PyCharm。   

1 __author__ = 'Sunny Han'
2 print("Hello World!")

由此可见Python的简洁明了。

 

三、变量\字符编码 

1、变量——为了存放东西以便之后的调用

eg: 

name="han shuo"

 

这里的name为变量名,han shuo为变量name的值。

变量定义应遵循一定的规则;

  • 变量名只能是字母、下划线或数字的任意组合。
  • 变量的第一个字符不能是数字。
  • 关键字不能充当变量名:'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'.
  • 定义变量名一定要有一定的含义,尽量不要胡编乱造,比如说这里我们想定义一个变量来代表Jake的年龄,我们写变量名“age_of_Jake”要好过变量名“ageofjake”。

变量的赋值:

eg:

1 name="han shuo"
2 print("my name is",name)
3 name2=name
4 print(name2)
5 name="kobe"
6 print(name,name2)

以下为执行后的结果:

my name is han shuo

han shuo
kobe han shuo

 为什么name值改成kobe后name2没有变化呢?这是因为name2指向的是之前name的值“han shuo”,而不是name自身,故name值变化后,name2并不会发生相应的变化。

 注:python中没有常量的概念,若想表示常量,要将变量名全部大写。

        eg:PIE=3.14159

2、字符编码

 python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)。ASCII主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。为了显示中文,程序员设计了用于简体中文的GB2312和用于繁体中文的big5。

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

GB2312 支持的汉字太少。1995年的汉字扩展规范GBK1.0收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。2000年的 GB18030是取代GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

从ASCII、GB2312、GBK 到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

有的中文windows的缺省内码还是GBK,可以通过GB18030升级包升级到GB18030。不过GB18030相对GBK增加的字符,普通人是很难用到的,通常我们还是用GBK指代中文Windows内码。

 显然ASCII码无法将世界上的各种文字和符号全部表示,所以,就需要新出一种可以代表所有字符和符号的编码,即:Unicode

Unicode(统一码、万国码、单一码)是一种在计算机上使用的字符编码。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,规定虽有的字符和符号最少由 16 位来表示(2个字节),即:2 **16 = 65536,
注:此处说的的是最少2个字节,可能更多

UTF-8,是对Unicode编码的压缩和优化,他不再使用最少使用2个字节,而是将所有的字符和符号进行分类:ascii码中的内容用1个字节保存、欧洲的字符用2个字节保存,东亚的字符用3个字节保存...

所以,python解释器在加载 .py 文件中的代码时,会对内容进行编码(默认ascill)。

eg:如果是输入以下代码的话,会报错,因为默认的ASCII无法表示中文。

__author__ = 'Sunny Han'
name="你好,世界!"
print(name)

 

 所以此处要告诉Python解释器要用什么编码来执行源代码。如下:
# -*- coding: utf-8 -*-
__author__ = 'Sunny Han'
name="你好,世界!"
print(name)

 这样就能显示出结果了。

注释:

        当行注视:# 被注释内容

  多行注释:""" 被注释内容 """  (三引号)

 四、用户输入

 1、简单输入方法:

 
__author__ = 'Sunny Han'
username=input("username:")
passWord=input("password:")
print(username,password)

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

__author__ = 'Sunny Han'
import getpass
username=input("username:")
password=getpass.getpass("password:")

print(username,password)

 

 2、相对复杂一些的输入输出过程
 eg1:
__author__ = 'Sunny Han'
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)

 注意这里的age变量默认类型为字符串,假如将 age:%s改为age:%d(即整数类型),之前的age=input("age:")也应改为age=int(input("age:")),即将age变量强制转为整型变量。

具体如下:

name=input("name:")
age=int(input("age:"))
job=input("job:")
salary=input("salary:")
info='''
 ----------------info of %s-----------
 name:%s
 age:%d
 job:%s
 salary:%s
 '''%(name,name,age,job,salary)
print(info)

 

 接下来以同样的例子介绍另一种用户输入的方法,如下:
eg2:
name=input("name:")
age=input("age:")
job=input("job:")
salary=input("salary:")


info='''
-----------info of {_name}-----------
Name:{_name}
Age:{_age}
Job:{_job}
Salary:{_salary}
'''.fORMat(_name=name,
       _age=age,_job=job,
       _salary=salary)
print(info)

 eg3:

__author__ = 'Sunny Han'
name=input("name:")
age=input("age:")
job=input("job:")
salary=input("salary:")
info='''
---------info of {0}----------
Name:{0}
Age:{1}
Job:{2}
Salary:{3}
'''.format(name,age,job,salary)
print(info)

 

上例和eg1的执行结果是一样的。

五、if-else语句

 以下举两个例子来说明if-else语句的用法 
1、如何实验判断用户名和密码的正确与否,代码如下:
 
__author__ = 'Sunny Han'
_username="han"
_password="123456"

username=input("username:")
password=input("password:")
if username==_username and password==_password:               #and是“并”的意思,意思是当前后两个条件都成立的时候才成立
    print("Welcom user {name} login...".format(name=username))#在这里换行时会自动缩进,如果手动改成顶格,会报错“IndentationError"缩进错误
else:                                                         #所有代码如果自己的级别就是最高的,比如这里的else,那么就应该顶格写
    print("invalid username or password!")                   

 

 2、如何判断某人年龄代码如下:

__author__ = 'Sunny Han'
age_of_jake=56

guess_age=int(input("guess_age:"))#这里默认输入的类型为字符型变量,故要强制转换字符类型,将其变成整型变量
if guess_age<age_of_jake:
    print("think bigger!")
elif guess_age==age_of_jake:#这里的elif相当于C语言中的elseif
    print("yes,you Got it.")
else:                          #尤其要记住在编写代码时,要在所有的if else elif 语句后面加上冒号:
    print("think smaller...")

 

六、循环语句 

 1、while循环语句

(1)先简单举一个while语句的例子,如下:

__author__ = 'Sunny Han'
count=0
while True:
    print("count:",count)
    count +=1
    if count==5:
        break

 代码运行结果如下:

我们可以看到上述代码实现了依次输出0到5的功能。

 

 (2)在之前猜年龄代码的基础上再加一个输入次数的限制,并用while语句实现,如下:
__author__ = 'Sunny Han'
age_of_jake=56
count=0    #计数器
while count<3:
    guess_age=int(input("guess_age:"))
    if guess_age<age_of_jake:
        print("think bigger!")
    elif guess_age==age_of_jake:
        print("yes,you got it.")
        break           #这里的break是结束循环,也就是说即便是没有输入够三次,也会结束循环,不会执行最后一个else语句
    else:
        print("think smaller...")
    count +=1        #相当于count=count+1

else:
    print("you have tried too many times! ")

 这里实现了只允许输入三次的限制,这里要注意break的用法和意义。

 如果说在以上基础上在加入一个环节——是否想继续猜年龄,我们可以进一步优化代码如下:
 
__author__ = 'Sunny Han'
age_of_oldboy=56
count=0
while count<3:
    guess_age=int(input("guess_age:"))
    if guess_age<age_of_oldboy:
        print("think bigger!")
    elif guess_age==age_of_oldboy:
        print("yes,you got it.")
        break
    else:
        print("think smaller...")
    count +=1
    if count==3:
        continue_confirm=input("do you want to keep guessing?")
        if continue_confirm!="n":
            count=0             #这里的令count重新等于0,就是说让代码重新回到其实部分(重新猜)
        else:
            break

 2、for循环语句

 (1)简单示例如下:
__author__ = 'Sunny Han'
for i in range(0,10,2): #这里的0代表起始点,10代表终止点,2代表步长(步长默认为1)
    print("loop",i)     #循环输出0,2,4,6,8

 (2)接下来我们举一个嵌套循环的例子,如下:

 
__author__ = 'Sunny Han'
for i in range(0,10): 
    print("---------",i)
    for j in range(5):        #这里和if else一样,一定记得在for语句后加冒号:
        print(j)

 上述代码实现了每输出一个i,都会输出5个j。

 3、continue语句

 这里我们利用一个简单的for语句,来练习使用continue语句。代码如下:
 
__author__ = 'Sunny Han'
for i in range(0,10):
   if i<5:
     print("loop",i)        #在这里如果i<5,会直接输出i
   else:
      continue              #相应的,当i增加到大于5的话,会执行continue语句,也就是会结束本次循环,而不是全部终止循环
   print("hehe..")

 对上述代码进行调试后发现,即便当i>5时,代码仍会继续进行循环,i=6,7,8,9,10直到走完全部循环。

 但若将这里的continue改为break,从调试结果中我们就很明显能看到当执行到i大于等于5时,就直接跳出整个循环了,而continue只是跳出本次循环,这就是continue语句和break语句的不同之处。
 
 
 

--结束END--

本文标题: Python3.5学习之旅——day1

本文链接: https://lsjlt.com/news/180251.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python3.5学习之旅——day1
    本节内容: 1、Python介绍 2、Hello World程序    3、变量\字符编码 4、用户输入 5、if-else语句 6、循环语句   一、Python介绍 Python是一种动态解释性的强类型定义语言,主要应用在云计算,WE...
    99+
    2023-01-30
    之旅
  • python学习之路—day1
    变量:存储信息,日后被调用、修改操作. 常量:固定不变的量,字母大小写。 命名规则: 1,、字母数字下划线组成 2、命名具有代表意义的 3、不能以数字开头,特殊符号开头 4、不能以保留字命名,lg:for等 5、命名一般不以中文命名 6、...
    99+
    2023-01-30
    之路 python
  • python学习之旅(二)
    Python基础知识(1) 一、变量 变量名可以由字母、数字、下划线任意组合而成。 注意:1.变量名不能以数字开头;            2.变量名不能为关键字;            3.变量名尽量起有意义的,能够通过变量名知道代表的...
    99+
    2023-01-30
    之旅 python
  • Python学习之旅(十)
    字符串格式化有2种方法:一是用“%”,二是用format。 转换标志:,默认右对齐,%后面加上“-”表示左对齐;“+”表示在转换值之前要加上正负号;“ ”(空白符)表示在正数前面保留空格;“0”表示转换值若位数不够用0填充。 最小字段宽...
    99+
    2023-01-30
    之旅 Python
  • python的学习之旅
        首先先介绍下本人,本人名叫杜邱,别名也叫故都的秋,网络工程专业毕业,现就职一家电子商务公司,已经三年了,起初从一个小小的网管做起,一台路由器,一台交换机,下面连着50几台电脑,三年过去了,慢慢的也在成长,装过监控,管过服务器,弄过网...
    99+
    2023-01-31
    之旅 python
  • Python学习之旅(十一)
    一、全局变量和局部变量 局部变量:在函数内定义的变量,在函数内使用 全局变量:在函数外定义的变量,在程序任何地方都可以使用 1、全局变量与局部变量同名 这时函数内部只调用局部变量,如果要调用全局变量需要在函数内加一句“global 同名...
    99+
    2023-01-30
    之旅 Python
  • python学习之旅(十五)
    一、装饰器 decorator:本质上就是函数,可以增强函数的功能。 定义起来虽然有点复杂,但使用起来非常灵活和方便 1、不修改被装饰函数的源代码 2、不修改被装饰函数的调用方式 3、装饰函数对被装饰函数透明 import funct...
    99+
    2023-01-30
    之旅 python 十五
  • Python学习之旅(十四)
    Python内置函数 1、abs:取绝对值 abs(-1) 1 2、all:把序列中的每一个元素拿出来做布尔运算,都为真则返回True,如果序列中有None、0、“”、[]、{}、()则返回False all([1,23,0]) ...
    99+
    2023-01-30
    之旅 Python 十四
  • python学习之旅(十六)
    1、可以把模块想象成导入Python以增强其功能的扩展 2、任何程序都可以作为模块导入 3、导入模块并不意味着在导入的时候执行某些操作,它们主要用于定义变量、函数和类等   #hello1.py def hello(): pr...
    99+
    2023-01-30
    之旅 python 十六
  • SpringMVC 的学习冒险之旅
           哈喽~大家好呀,前段时间将 Spring 框架篇结束,从这篇开始,开始了我们 SpringMVC 的学习之旅了,这篇来看看SpringMVC 项目起步讲解吧。  🥇个人主页:个人主页​​​​​...
    99+
    2023-09-22
    spring springMvc java 服务器
  • Python学习之旅(二十五)
    正则表达式:检查一个字符串是否与某个模式匹配 \d :匹配数字 \w :匹配字母或数字 . :匹配任意字符 {n} :匹配n个字符 {m,n} :匹配m到n个字符 \s :匹配空格 a|b :匹配a或b ^ :匹配字符串开头 $ :匹配...
    99+
    2023-01-30
    之旅 二十五 Python
  • Python学习之旅(二十四)
    一、threadlocal 在多线程环境下,每个线程都有自己的数据 一个线程使用自己的局部变量比使用全局变量好,因为局部变量只有线程自己能看见,不会影响其他线程,而全局变量的修改必须加锁 在函数间一层层调用的时候,使用局部变量很麻烦,使...
    99+
    2023-01-30
    之旅 二十四 Python
  • Python学习之旅(二十九)
    一、Pillow PIL(Python Imaging Library):提供了强大的图像操作功能,可以通过简单的代码完成复杂的图像处理,是Python平台事实上的图像处理库,支持Python 2.7以及更低的版本 Pillow:在PI...
    99+
    2023-01-30
    之旅 二十九 Python
  • Python学习之旅(三十三)
    网络通信是两台计算机上的两个进程之间的通信,而网络编程就是如何在程序中实现两台计算机的通信 P协议负责把数据从一台计算机通过网络发送到另一台计算机 TCP协议则是建立在IP协议之上的。TCP协议负责在两台计算机之间建立可靠连接,保证数据...
    99+
    2023-01-30
    之旅 Python 三十三
  • Python学习之旅(三十二)
    Python内置了turtle库,可以在计算机上绘图 运动控制: 1、画笔定位到坐标(x,y):turtle.goto(x,y) 2、向正方向运动 distance 长的距离:turtle.forward(distance) 3、向负方...
    99+
    2023-01-30
    之旅 Python 三十二
  • Python学习之旅(三十四)
    UDP编程 相对TCP,UDP则是面向无连接的协议 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就可以直接发数据包 虽然用UDP传输数据不可靠,但它的优点是和TCP比,速度快,对于不要求可靠到达的数据,就可以使用...
    99+
    2023-01-30
    之旅 Python 三十四
  • Python学习之旅(三十七)
    程序运行的时候,数据都是在内存中的。当程序终止的时候,通常都需要将数据保存到磁盘上,无论是保存到本地磁盘,还是通过网络保存到服务器上,最终都会将数据写入磁盘文件。 而如何定义数据的存储格式就是一个大问题。 为了便于程序保存和读取数据,而...
    99+
    2023-01-30
    之旅 Python 三十七
  • Python学习之旅(三十八)
    二、MySQL MySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能承受高并发访问,同时占用的内存也远远大于SQLite...
    99+
    2023-01-30
    之旅 Python 三十八
  • Python学习day1作业总结
    为了以后更好更快速的复习,此博客记录我对作业的总结。对于基础作业,我认为最重要的是过程,至于实现是不是完美,代码是不是完美,虽然重要,但是作业过程中,用到的知识点是值得总结和整理的。1. 用户输入帐号密码进行登陆  2. 用户信息保存在文件...
    99+
    2023-01-31
    作业 Python
  • Android学习之旅--安装配置
    Android学习之旅--安装配置 一、Android studio的安装与配置 1、Android studio的下载 下载地址:http:/...
    99+
    2022-06-06
    android学习 安装 Android
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作