一、Python简介

一、Python简介Python简介python的创始人为吉多·范罗苏姆(GuidovanRossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释

大家好,又见面了,我是你们的朋友全栈君。

Python简介

python的创始人为吉多·范罗苏姆(Guido van Rossum)。1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承。

最新的TIOBE排行榜,Python赶超C#占据第四, Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

<span role="heading" aria-level="2">一、Python简介

 

Python是一门什么样的语言?

python是一门动态解释性的强类型定义语言

 

Python语言缺点

第一个缺点就是运行速度慢。(相对而言。)
第二个缺点就是代码不能加密。(编译型语言只需要把编译后的机器码发布出去。要从机器码反推出源代码是不可能的。)

 

Python版本

本人才疏学浅不敢妄自菲薄,引用python的声明。

Python 科学栈中的所有主要项目现在都支持 Python 3.x 和 Python 2.7,很多项目已经支持这两种版本很多年。尽管我们不断开发用于高效维护兼容性的工具和技术,但是在大量代码开发中这仍然是虽然微小但经常出现的冲突。

我们希望充分使用 Python 3,目前接受交叉兼容代码以实现顺利过渡,但是我们不打算无限期维护该兼容性。尽管从 Python 2 到 Python 3 的过渡不像我们希望的那么快,但是它的确发生了,越来越多的人使用、教授和推荐 Python 3。

由于很多人仍然使用 Python 2,Python 语言的开发者将 Python 2.7 的支持期扩展为 2015 到 2020。我们认为这 5 年足够用户从 Python 2 中迁移出来,我们的项目计划最迟在 2020 年底停止支持 Python 2。之后,我们能够简化代码,充分利用 Python 语言和标准库当前版本的很多新功能。 
此外,2020 年之前,我们的一些项目将减少对 Python 2.7 的支持,只修复 bug,新功能版本则使用 Python 3。这和 Python 语言本身的支持相匹配,Python 2.7 版本仅包括修复 bug 和安全提升。

第三方可能对我们的旧 Python 版本项目提供付费支持,时间长于我们对旧 Python 版本的支持。我们不会阻止这类行为,这是免费、开源软件的核心原则,因此这种行为是可行的。但是,如果你想要免费的第一方支持,请开始迁移到 Python 3 吧。

 

Python解释器

当我们编写python代码时,我们得到的是一个包含python代码以.py结尾的文本文件。要运行代码,就需要python解释器去执行.py文件。

Python的解释器很多,但使用最广泛的还是CPython。如果要和Java或.Net平台交互,最好的办法不是用Jython或IronPython,而是通过网络调用来交互,确保各程序之间的独立性。

 

Python安装

下载地址

https://www.python.org/downloads/

环境变量

win10环境变量: 计算机–>属性–>高级系统设置–>高级–>环境变量–>系统变量–>Path

Ps:

  注意添加 python\Scripts 路径,否则pip命令无法使用。

  多版本添加默认的版本路径,备用版本先改解释器名称再添加。如python.exe –> python2.exe,pip.exe–>pip2.exe

 

第一个程序

<span role="heading" aria-level="2">一、Python简介
<span role="heading" aria-level="2">一、Python简介

1 C:\Users\root>python
2 Python 3.6.4 (v3.6.4:d48eceb, Dec 19 2017, 06:04:45) [MSC v.1900 32 bit (Intel)] on win32
3 Type "help", "copyright", "credits" or "license" for more information.
4 >>> print('hello world')
5 hello world

hello world

 

编码

python2.x 默认使用ascii码。文件开头需添加如下代码。python3.x解释器默认编码utf-8

<span role="heading" aria-level="2">一、Python简介
<span role="heading" aria-level="2">一、Python简介

1 #-*- coding:utf-8 -*-

coding:utf-8

 

ASCII

ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言,其最多只能用 8 位来表示(一个字节),即:2**8 = 256-1,所以,ASCII码最多只能表示 255 个符号。

<span role="heading" aria-level="2">一、Python简介

 

 

Unicode

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

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

 

UTF-8

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

 

gbk

对亚洲国家的文字做的对应关系

 

Ps:

  utf-8 使用3个字节来表示一个中文。gbk用俩个字节表示。

  一个字节是8位计算机码。如:00000000

 

变量

变量来源于数学,是计算机语言中能储存计算结果或能表示值抽象概念。变量可以通过变量名访问。

 

格式:变量名 = 值  

1 name = 'haibin'
2 age = 13

 

命名规则:

  1.   数字、字母、下划线(_)组成.
  2.   不能数字开头。
  3.   不能使用Python关键字。

  python关键字

1 ['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']

 

Ps:

  别用汉字当变量。别用拼音当变量(有道词典了解一下)。见名知意。

  用小写。(大写为全局变量)

  变量、函数用下划线。类用驼峰。

<span role="heading" aria-level="2">一、Python简介

 

if语句

格式

1 if 条件:
2     pass
3 elif 条件:
4     pass 
5 else:
6     pass

Ps:

  elif 和 else非必须,可只有if。

 

实例

1 age = 20
2 
3 if age > 18:
4     print("age > 18")
5 elif age > 13:
6     print("age > 13")
7 else:
8     print("age is" + str(age))

结果为:

age > 18

Ps:

  if 语句自上而下匹配条件,最多匹配一次。可以匹配不上。

 

while

格式

while 条件:
    pass 

Ps:

  while True 传说中的死循环,慎用。一、条件不给True。二、满足某种条件内部破坏循环。

实例

while True:
    print("God is girl.")

 

for

格式

 
for i in 可迭代对象:
print("God is girl.")

Ps:

  必须为可迭代对象,否则报错。关于可迭代对象,后面详解。

 

示例

for i in [1, 5, 7, 9]:
    print(i)

 

continue和break

    continue  # 跳出当前这一次循环
    break     # 跳出当前这个循环

示例

for i in [1, 5, 7, 9]:
    if i == 7:
        continue
    if i == 9:
        break
    print(i)

Ps:

  需要注意的是,这里个参数只对循环语句即(while和for生效。)很多时候会遇到好几个语句、循环嵌套的情况。当运行结果与预期不符的时候用print打印排查。

 

练习题

求1-100的所有数的和(假装没有sum函数)

count = 1
sum = 0
while count < 101:
    sum += count
    count += 1
print(sum)
sum = 0
for i in range(1, 101):
    sum += i
print(sum)

输出 1-100 内的所有奇数

count = 1
while count < 101:
    if count % 2 == 1:
        print(count)
    count += 1
for i in range(1, 101):
    if i % 2 == 1:
        print(i)

输出 1-100 内的所有偶数

for i in range(1, 101):
    if i % 2 == 0:
        print(i)
count = 1
while count < 101:
    if count % 2 == 0:
        print(count)
    count += 1

求1-2+3-4+5 … 99的所有数的和

sum = 0
for i in range(1, 100):
    if i % 2 == 0:
        sum -= i
    else:
        sum += i
print(sum)
count = 1
sum = 0
while count < 100:
    if count % 2 == 0:
        sum -= count
    else:
        sum += count
    count += 1
print(sum)

用户登录(三次错误机会)

<span role="heading" aria-level="2">一、Python简介
<span role="heading" aria-level="2">一、Python简介

 1 count = 1
 2 while True:
 3     user_name = input("UserName:")
 4     passwd = input("Password:")
 5     flag = False
 6     for item in user_list:
 7         if item['username'] == user_name and item['password'] == passwd:
 8             print("Log in successfully.")
 9             flag = True
10             break
11     if flag:
12         break
13     else:
14         print("The input is invalid.")
15     if count < 3:
16         pass
17     else:
18         print("You've tried it too many times.")
19         break
20     count += 1

View Code

<span role="heading" aria-level="2">一、Python简介
<span role="heading" aria-level="2">一、Python简介

 1 user_list = [
 2             {'username':'root', 'password':'123' },
 3             {'username':'ubuntu', 'password':'123'},
 4             {'username':'admin', 'password':'123'}
 5             ]
 6 count = 1
 7 while True:
 8     user_name = input("UserName:")
 9     passwd = input("Password:")
10     flag = False
11     for item in user_list:
12         if item['username'] == user_name and item["password"] == passwd:
13             flag = True
14             break
15     if flag:
16         print("Log in successfully.")
17         break
18     else:
19         print("The input is invalid.")
20         count += 1
21     if count == 4:
22         print("You've tried it too many times.")
23         break

View Code

<span role="heading" aria-level="2">一、Python简介
<span role="heading" aria-level="2">一、Python简介

 1 user_list = [
 2             {'username':'root', 'password':'123' },
 3             {'username':'ubuntu', 'password':'123'},
 4             {'username':'admin', 'password':'123'}
 5             ]
 6 count = 1
 7 while True:
 8     user_name = input("UserName:")
 9     passwd = input("Password:")
10     flag = False
11     user_info = {'username':user_name, 'password':passwd}
12     if user_info in user_list:
13         print("Log in successfully.")
14         break
15     else:
16         print("The input is invalid.")
17         count += 1
18     if count == 4:
19         print("You've tried it too many times.")
20         break

View Code

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/155844.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 将换行符传给后台

    将换行符传给后台在文本框中输入换行符传给后台的时候只能显示一个空格,怎么正确的传给后台,并且从后台读取之后再在前端正确显示?HTML代码如下:<textareaname=””id=”text”cols=”30″rows=”10″></textarea><divid=”div1″class=”div1″>ss</div>&…

  • PC上安装多个操作系统

    目 录 第1章 绪论1 1.1目标1 1.2适宜的读者1 第2章 制作启动U盘2 2.1初级安装2 2.2启动分析3 2.3高级安装13 2.3.1分区13 2.3.2复制文件16 2.3.3…

  • redis 乐观锁_数据库乐观锁实现

    redis 乐观锁_数据库乐观锁实现文章目录GeospatialHyperloglogBitmapsRedis事务悲观锁和乐观锁JedisSpringboot继承RedisGeospatial存储地理位置的数据结构应用场景朋友的定位,附近的人,打车距离计算Geospatial底层使用的是Zset127.0.0.1:6379> geoadd city 116.23 40.22 beijing 添加一个数据127.0.0.1:6379> geoadd city 121.47 31.23 shanghai 118.77

  • Nginx使用

    Nginx使用

  • Web安全渗透详细教程+学习线路+详细笔记【全网最全】

    Web安全渗透详细教程+学习线路+详细笔记【全网最全】欢迎关注微信公众号:hacklex让安全技术不再神秘,让编程更加有趣~~~1.序章 1.1.Web技术演化 1.2.网络攻防技术演化 1.3.网络安全观 2.计算机网络与协议 2.1.网络基础 2.2.UDP协议 2.3.TCP协议 2.4.DHCP协议 2.5.路由算法 2.6.域名系统 2.7.HTTP协议簇 2.8.邮件协议族 2.9.SSL/TLS 2.10.IPsec 2.11.Wi-Fi …

  • PHP5.6 和PHP7.0区别

    PHP5.6 和PHP7.0区别

    2021年10月15日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号