来自 威尼斯国际官方网站 2019-12-18 15:28 的文章
当前位置: 威尼斯国际官方网站 > 威尼斯国际官方网站 > 正文

威尼斯国际官方网站基础知识1

       编译:相当于“翻译”;优化充分,运行速度快

返回目录页

       解释:相当于“同声传译”。执行哪里,就翻译哪里,没有到执行的地方,就不会翻译。

Python介绍

                若重新执行某个地方,也得重新翻译。维护灵活,跨操作平台

python的出生与应用

  python的创始人为吉多·范罗苏姆(Guido van Rossum)。

  Python崇尚优美、清晰、简单,是一个优秀并广泛使用的语言。

       动态语言:是指动态类型语言,在程序运行期间进行类型检查,也就是说,在编程时,不用给任何变量指定数据类型。

python是什么编程语言

*  编程语言主要分类*

*  编译型和解释型*

*  静态语言和动态语言*

*  强类型定义语言和弱类型定义语言*

       静态语言:是指静态类型语言,在编译期间进行类型检查,编程时,要指定变量类型。

编译型与解释型

编译器  先把源程序全部编译成机器语言,并保存成二进制文件,计算机直接以机器语言来运行程序,速度快

解释器  编译一行执行一行,速度慢

  计算机不能直接认识并执行我们写的语句,它只能认识机器语言(是二进制的形式)

 

编译型
  优点:编译器一般会有预编译的过程对代码进行优化。因为编译只做一次,运行时不需要编译,所以编译型语言的程序执行效率高。可以脱离语言环境独立运行。
  缺点:编译之后如果需要修改就需要整个模块重新编译。编译的时候根据对应的运行环境生成机器码,不同的操作系统之间移植就会有问题,需要根据运行的操作系统环境编译不同的可执行文件。

解释型
  优点:有良好的平台兼容性,在任何环境中都可以运行,前提是安装了解释器(虚拟机)。灵活,修改代码的时候直接修改就可以,可以快速部署,不用停机维护。

  缺点:每次运行的时候都要解释一遍,性能上不如编译型语言。

 

       强类型定义语言:一旦一个变量被指定了某个数据类型,如果不进行强制转换,那么它就永远是这相数据类型了。

动态语言和静态语言

动态类型语言:

  动态类型语言是指在运行期间才去做数据类型检查的语言,也就是说,在用动态类型的语言编程时,永远也不用给任何变量指定数据类型,该语言会在你第一次赋值给变量时,在内部将数据类型记录下来。Python和Ruby就是一种典型的动态类型语言,其他的各种脚本语言如VBScript也多少属于动态类型语言。

静态类型语言:

  静态类型语言与动态类型语言刚好相反,它的数据类型是在编译其间检查的,也就是说在写程序时要声明所有变量的数据类型,C/C++是静态类型语言的典型代表,其他的静态类型语言还有C#、JAVA等。

       弱类型定义语言:某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过显性强制转换

强类型定义语言和弱类型定义语言

强类型定义语言:

  强制数据类型定义的语言。也就是说,一旦一个变量被指定了某个数据类型,如果不经过强制转换,那么它就永远是这个数据类型了。举个例子:如果你定义了一个整型变量a,那么程序根本不可能将a当作字符串类型处理。强类型定义语言是类型安全的语言。

弱类型定义语言:

  数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。另外,“这门语言是不是动态语言”与“这门语言是否类型安全”之间是完全没有联系的!
例如:Python是动态语言,是强类型定义语言(类型安全的语言); VBScript是动态语言,是弱类型定义语言(类型不安全的语言); JAVA是静态语言,是强类型定义语言(类型安全的语言)。

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

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

python的优缺点

       Python解释器:CPython、IPython、PyPy、JPython、IronPython

优点:

  1. 简单、易学、免费、开源

  2. 强大的第三方库

  3. 面向对象

  4. 可移植性

  5. 可扩展性

 

              CPython应用广泛;想要运行速度快,就用PyPy(动态编译)

缺点:

  1. 速度慢

  2. 代码不能加密

  3. 线程不能利用多CPU问题

 

              如果要和Java或.Net平台交互,最好的办法是通过网络调用来交互,确保各程序之间的独立性。

python的种类

CPython

  这个解释器是用C语言开发的,所以叫CPython。在命令行下运行python就是启动CPython解释器。

IPython

  IPython是基于CPython之上的一个交互式解释器,IPython只是在交互方式上有所增强,功能一样

PyPy

  PyPy是另一个Python解释器。PyPy采用JIT技术,对Python代码进行动态编译(注意不是解释),可以显著提高Python代码的执行速度

Jython

  Jython是运行在Java平台上的Python解释器,可以直接把Python代码编译成Java字节码执行。

IronPython

  IronPython和Jython类似,只不过IronPython是运行在微软.Net平台上的Python解释器,可以直接把Python代码编译成.Net的字节码。

小结:

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

       Python 2是遗产,Python 3是未来。

python基础初识

       PyCharm: New Project         New---Python File

内容编码

  python2解释器(默认ascill)

  python3对内容进行编码的默认为utf-8。

  ASCII  其最多只能用 8 位来表示(一个字节),即:2**8 = 256,所以,ASCII码最多只能表示 256 个符号。

 

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

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

                                                  欧洲的字符用2个字节保存

                                                  东亚的字符用3个字节保存...

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

  #!/usr/bin/env python   寻找解释器位置

  # -*- coding: utf-8 -*-   显示中文

              配置模版

注释

  单行注释:# 被注释内容

  多行注释:'''被注释内容''',或者"""被注释内容"""

  文档注释:1. 选中函数名称

       2. 点击小灯泡

       3. 选择 insert documentation string stub

  标记注释:#_TODO(人名)_显示功能菜单  和单行注释差不多

              Ctrl + Alt + s 首选项---Editor---File and Code Templates---Python Script

变量

              Ctrl + Shift + F10 运行程序  或   右击---Run

变量定义的规则:

  • 变量名只能是 字母、数字下划线的任意组合
  • 变量名的第一个字符不能是数字
  • 以下关键字不能声明为变量名
  • 变量的定义要具有可描述性。

       变量名最好使用 有意义的名字。

推荐定义方式

#驼峰体

AgeOfOldboy = 56

NumberOfStudents = 80

#下划线

age_of_oldboy = 56

number_of_students = 80

       变量名(以下应避免使用):

常量

常量即指不变的量

定义类型为全部大写

AGE_OF_OLDBOY = 56

              前后都有两个下划线:为系统变量, _ _name_ _,_ _doc_ _

基础数据类型(初始)

              以一个下划线开头的,不能被 from …… import * 语句导入

整数类型(int)

在32位机器上,整数的位数为32位,取值范围为-2**31~2**31-1,即-2147483648~2147483647

在64位系统上,整数的位数为64位,取值范围为-2**63~2**63-1,即-9223372036854775808~9223372036854775807

long(长整型)在Python3里不再有long类型了,全都是int

              以两个下划线开头的,末尾无下划线:是类的本地变量, _ _abc

字符串类型(str)

以下格式为 格式化输出 打印在控制台

msg = '''

今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像一只炸毛鸡。
'''
print(msg)

字符串拼接

但只能进行"相加"和"相乘"运算。

>>> name = 'Alex Li'

>>> age = '22'
>>> 
>>> name + age  #相加其实就是简单拼接
'Alex Li22'
>>> 
>>> name * 10 #相乘其实就是复制自己多少次,再拼接在一起
'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

注意,字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

       在Python中,变量有多个单词时,官方建议使用下划线连接

布尔值(True,False)

布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用记逻辑判断

 

       在Python中,想表示常量可以使用大写如: PI

格式化输出

现有一练习需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式

       小驼峰法

------------ info of Alex Li

Name  : Alex Li
Age   : 22
job   : Teacher
Hobbie: girl
------------- end -----------------

 

 name = input("Name:")

age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")

info = '''
------------ info of %s ----------- #这里的每个%s就是一个占位符,本行的代表 后面拓号里的 name 
Name  : %s  #代表 name 
Age   : %s  #代表 age  
job   : %s  #代表 job 
Hobbie: %s  #代表 hobbie 
------------- end -----------------
''' %(name,name,age,job,hobbie)  # 这行的 % 号就是 把前面的字符串 与拓号 后面的 变量 关联起来 

print(info)

msg = "我是%s,年龄%d,目前学习进度为80%%"%('郑松松',18)
print(msg)

 

    变量一般用小驼峰法标识。驼峰法的意思是:除第一个单词之外,其他单词首字母大写      

基本运算符

  大驼峰法

算数运算

以下假设变量:a=10,b=20

威尼斯国际官方网站 1

    相比小驼峰法,大驼峰法(即帕斯卡命名法)把第一个单词的首字母也大写了。常用于类名,命名空间等

比较运算

以下假设变量:a=10,b=20

威尼斯国际官方网站 2

       二进制: 27表示有8位二进制,27表示的值是后面7位值的总和加1.

赋值运算

以下假设变量:a=10,b=20

威尼斯国际官方网站 3

       用于简体中文GB2312用于繁体big5

逻辑运算

威尼斯国际官方网站 4

 

针对逻辑运算的进一步研究:

  1,在没有()的情况下not 优先级高于 and,and优先级高于or,即优先级关系为( )>not>and>or,同一优先级从左往右计算。

例题:

判断下列逻辑语句的True,False。

威尼斯国际官方网站 5

1,3>4 or 4<3 and 1==1
2,1 < 2 and 3 < 4 or 1>2 
3,2 > 1 and 3 < 4 or 4 > 5 and 2 < 1
4,1 > 2 and 3 < 4 or 4 > 5 and 2 > 1 or 9 < 8
5,1 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6
6,not 2 > 1 and 3 < 4 or 4 > 5 and 2 > 1 and 9 > 8 or 7 < 6

威尼斯国际官方网站 6

  2 ,  x or y , x为真,值就是x,x为假,值是y;

             x and y, x为真,值是y,x为假,值是x。

 威尼斯国际官方网站 7

例题:求出下列逻辑语句的值。

8 or 4
0 and 3
0 or 4 and 3 or 7 or 9 and 6

in,not in :

判断子元素是否在原字符串(字典,列表,集合)中:

例如:

#print('喜欢' in 'dkfljadklf喜欢hfjdkas')
#print('a' in 'bcvd')
#print('y' not in 'ofkjdslaf')

       PC平台须支持GB18030嵌入式产品支持GB2312就可以了,不过windows通常还是用GBK

流程控制之--if

       Unicode 统一码,每个字符最少2个字节

单分支

if 条件:
    满足条件后要执行的代码

本文由威尼斯国际官方网站发布于威尼斯国际官方网站,转载请注明出处:威尼斯国际官方网站基础知识1

关键词: