动态类型是Python语言灵活性的来自,欢迎大家来点评

By admin in 4858美高梅 on 2019年3月30日

强弱类型的语言,不难来区分便是会不会隐式转换数据类型,
比如最普遍的数值型与字符串之间的转换

也称之为强类型定义语言。一种总是强制类型定义的语言,须要变量的运用要严俊符合定义,全数变量都必须先定义后使用。java、.NET、C++、python等都以挟持类型定义的。也正是说,一旦3个变量被钦定了有些数据类型,尽管不经过强制转换,那么它就永远是其一数据类型了。
比如你有3个整数,假设不显式地展开转移,你不能够将其正是三个字符串。
与其相呼应的是弱类型语言:数据类型能够被忽略的言语。它与强类型定义语言相反,
三个变量能够赋不相同数据类型的值。

假设你接触过C、C++或许JAVA,只怕会以为,Python怎么这么不严刻,使用变量的时候都不曾表明变量的品类。
C语言中:int a = 3,而Python:a = 3
原先,Python并不会表明脚本中使用对象的恰到好处品种,也不在意特定类型,那样它就格外灵活了,变量a赋值为整型正是整型,赋值为字符串正是字符串,类型都以在运作进度中自动决定的,不需求像C、C++或JAVA那个静态编写翻译类型语言一样,事先须要证明。因而,像Python那样的语言也号称动态类型语言。

[python_Day1],python_day1

摘要:数据类型、变量、运算符、选用结构、循环结构、字符串的格式化

强类型的言语 : java , .net , python等

弱类型语言也号称弱类型定义语言。与强类型定义相反。像vb,php,javascript,python,vbscript等就属于弱类型语言.例如:在vbscript中,能够将字符串
12 和整数 3 实行再而三获得字符串 123,然后能够把它当做整数
123,而不要求显式转换。
动态类型是Python语言灵活性的来自,欢迎大家来点评。弱类型有时显示很便宜,有时却又极易出错。比如:
var result=5+5; //two numbers
alert(result); //outputs “10”
var result=5+’5’; // a number and a string
alert(result); //outputs “55”
于是利用弱类型语言也要卓越留心数据类型幸免出错。

所谓动态类型语言,正是概念变量或参数时,不必要表明其数据类型int、string等。JavaScript、Ruby、Python等都属于动态类型语言。

初识python

第一个python程序:

1 >>> print('Hello,Python')
2 Hello,Python

python2与python3的一对重点的分别:

弱类型的语言: php JavaScript等

弱类型语言vbs:
a=1
b=a+”1″+”a” //结果是11a,这里 a 成了字符串
c=a+1 //结果是2 ,那里a则是数字型

静态类型语言(Statically Typed
Language)与之相反,它的项目在运作前就早已看清(如编写翻译阶段)。C#、java正是静态类型语言。

数据类型

  举个python 与 JavaScript的例子

强类型语言:c#
int a=2
string b=a.ToString()+”1″+”a”
int c=a+1

请勿混淆:

整形(int)

      如0,-1,9,123,0xff,035,0b101等

  python

总的来看了呢?区分轻重缓急写,须要实现注明类型外,二个第壹的界别是,弱类型的言语的东西没有分明的种类,他能随着环境的不等,自动转换类型
而强类型则没这么的明确,差别类型间的操作有严刻定义,唯有相同档次的变量才能操作,即使系统也有必然的默许转换,当绝没有弱类型那么不论是

动态/静态类型语言 与 动态/静态语言 是不等同的。

浮点数(float)

      如15.0,0.37,21.,.21,2e2,15e-2等

    a = 5

ps:弱类型代码不难,但因为变量没有鲜明的品种,所以不难失误!强类型代码复杂(比如:转换日期突显格式
(convert.toDatetime(“二〇〇七-1-1
08:08:08”)).ToString(“yyyy-MM-dd”),呵呵你可以看看那种写法极度劳碌),但因为有严峻定义所以不易于失误

动态类型语言,注解变量:

复数(complex)

    b = ‘5’

//Python
x = 1
y = 2
sum = x + y

布尔型(bool)

      True和False,以下数值会被认为是False:

1 >>> a = False
2 >>> type(a)
3 <class 'bool'>

 

    print(a + b) // 此处会报错 ,因为 a是 int类型 b是 str类型,
unsupported // 是不帮衬的.

静态类型语言,申明变量:

强制转换数据类型

  示例代码:  

4858美高梅 11
>>> float(5) 2 5.0 3 >>> int(3.3) 4 3 5 >>>
list((1,2,3)) 6 [1, 2, 3] 7 >>> tuple([1,2,3]) 8 (1, 2, 3)
View Code

    除了int(obj),float(obj),list(obj),tuple(obj),还有str(),dict()等。

              

    c = int(b)

//JAVA
int x = 1;
int y = 2;
int sum = x + y;

变量

Python是一种动态类型语言,即变量不必要出示注脚数据类型。Python认为其余数据都以“对象”,变量用来针对对象,变量赋值正是把目的和变量关联起来。

示例:

4858美高梅 2 1
>>> a = 2 2 >>> b = 3 3 >>> c = a * b 4
>>> print(c) 5 6 6 >>> b = 2 7 >>> print(c) 8
6 9 >>> c = a * b 10 >>> print(c) 11 4 View Code

注意:

            
 and  del  from  not  while  as  elif  global  or  with  assert  else  if  pass  yield  try
      break  except  import  print  classexec  in  raise  continue  finally  is  return  def  for  lambda
          
          

    print(a + c) // 10

连锁注意,Python中的语句结束符:

运算符

  JavaScript

在Python中,当三个物理行只有3个逻辑行时,无需使用分号’;’作为完成符,例如:
x = 1
y = 2
当一个物理行有七个或上述逻辑行时:
x = 1 ; y = 2 ;

算术运算符:

4858美高梅 3

    let a = 5,

在Python中,变量的数据类型由赋值语句决定:

涉嫌运算符:

 4858美高梅 4

      b = ‘5’

x = '1'   #字符串
x = 5     #整型
x = True  #布尔型

逻辑运算符:

4858美高梅 5

    console.log(a + b) // 55
在那边JavaScript直接将a转换到字符串拼接在了一起.

Python的变量
Python的变量只是3个名字而已,它的功用只是是援引对象,引用任何类型的指标,并不涉及类型新闻只怕约束。

位运算符:

Python的对象
目的是分配的一块内部存储器,有丰盛的空中去表示定义的值。对象类型有Integer、Boolean、Long
integer、Floating point real number、Complex
number、String、List、Tuple、Dictionary等,都有多少个正经的头顶音信:一个类别标识符去标识那么些指标的连串,多少个引用的计数器,用来决定是还是不是足以回收那么些目的。

逐一与选取结构

代码示例:

4858美高梅 61 age =
256 2 guess = int(input(“Plz input a number: “)) 3 4 if guess > age:
5 print (“Your guess number is bigger”) 6 elif guess < age: 7 print
(“Your guess number is lower”) 8 else: 9 print (“Bingo,Your number is
right!”) View Code

if的单分支:

  if 条件表明式:

    语句块

瞩目:同一语句块有一致的缩进,一般是两个空格(windows下tab键陆个空格,linux下tab键几个空格)

if的多分支:

  if 条件表明式:

    语句块1

  elif 条件表明式:

    语句块2

  elif 条件表达式:

    语句块3

  … …

  else:

    语句块n

Python的赋值
请想想那样二个标题:

 循环结构

python中的循环结构有while和for两种循环结构

a = 12
b = 12

while语句

  while 循环控制规范:

    循环体

  while 循环控制标准:

    循环体

  else:

    语句

4858美高梅 7View Code

试问那多少个赋值语句一共分配了多少个存款和储蓄12的内部存款和储蓄器?
答案:是一个。
赋值的历程是什么样的吗?
① 、创制2个对象来代表12
二 、成立变量a
叁 、将变量a与指标12相连接,也正是让a引用12。
④ 、成立变量b
⑤ 、将变量b与指标12也举行连接,也便是让b也引用12。
为此,变量a和b都引用了一致的对象12,也等于说指向了同等的内部存款和储蓄器空间,那在Python中称之为共享引用———-多少个变量名引用同三个对象。

for语句

  for 指标标识符 in 体系:

    循环体

4858美高梅 81
>>> for i in range(3): 2 … print(i) 3 … 4 0 5 1 6 2 View Code

留神,变量a 和变量b
引用的都以数值类型,若是引用的是字符串、列表、元组或集合,他们一如既往指向同一个对象么?

协助语句

怎样判断区别的变量指向了同三个指标啊?
这就要打听一下对象的多个基本要素,分别是:id(身份标识)、type(数据类型)和value(值)。
is 和 ==都以指标操作符:
is被称作同一性运算符,用来判定分裂指标的id是还是不是一律,也正是例外的变量是不是针对同三个内部存款和储蓄器空间。例如:

 字符串的格式化

4858美高梅 ,  具体见上面包车型地铁代码示例:

4858美高梅 9 1 name =
input(‘name:’) 2 age = input(‘age:’) 3 job = input(‘job:’) 4 5 6
#字符串格式化方法1: 7 print(‘Information
of’,name,’:\n’,’Name:’,name,’\nAge:’,age,’\nJob:’,job) 8
#只有唯有字符串能拼接 9 # ‘+’号在字符串的拼接中标识珍视新开发多个内存10 print(‘Information
of’+name+’:\n’+’Name:’+name+’\nAge:’+age+’\nJob:’+job) 11
#出现多个字符串,占用内部存款和储蓄器空间较大 12 13 #字符串格式化方法1: 14
print(‘Information of
%s:\nName:%s\nAge:%s\nJob:%s’%(name,name,age,job)) 15
#一味贰个字符串,占用内部存款和储蓄器较小 16 17 #字符串格式化方法1: 18 message =
”’ 19 Information of %s: 20 Name:%s 21 Age:%s 22 Job:%s 23
”’%(name,name,age,job) 24 print(message) 25 26 #字符串格式化方法1: 27
print(‘Information of
{}:\nName:{}\nAge:{}\nJob:{}’.format(name,name,age,job)) 28 ”’ 29
format函数: 30 {}内格式为为:{域的名字:对齐方式 占用宽度.精度 类型} 31
例: {:9.4f} 32 ”’ View Code

 

摘要:数据类型、变量、运算符、选取结构、循环结构、字符串的格式化
初识python 第三个python程序: 1 print ( ‘ Hello…

a = "woshizifuchuan"
b = "woshizifuchuan"
print(a is b)

输出:True or False ?
也得以经过id函数总括出id值来判断:id(object)
重返的是目的的“身份证号”:

id(a)
140589661955648
id(b)
140589661955648

==是用来比较不相同目的的value(值)是还是不是一致:

a = ('a','bc','g')
b = ('a','bc','g')
print(a==b)

输出:True

在静态类型语言中,变量类型的判定是在编写翻译阶段展开的:

//JAVA
int x = 1;
int y = 2;
String sum = x + y;

C:\Users\*****\Desktop>javac sum.java
sum.java:7: 错误: 不配合的品类: int不能转移为String
String sum = x + y;

在Python中,代码是还是不是合法要到运转时才能判定(注意是运营时的品种判断):

# -*- coding: UTF-8 -*-     
def add(x, y):       #此处并没有指定参数x、y的数据类型
    sum = x + y
    return "\'{0}+{1}\' 的结果是:{2}".format(x,y,sum)
    #使用format函数进行字符串格式化,不需要指定是字符串还是数字类型
sum = add(3, 5)      #调用函数add(x, y)时,才能确定参数x、y的数据类型
print sum
----------------------------------------------------------
C:\Users\*****\Desktop>python sum.py
'3+5' 的结果是:8

就算要出口汉语,必要在文书最上边加上 # –– coding: UTF-8 –
那行注释,在python
3.x本子中,必要将该py文件存款和储蓄为UTF-8编码格式,而不是私下认可的ANSI

在python 3.x本子中,print
已经成了个放置函数,而不再是语句了,由此须要将print sum 替换为
print(sum)

函数的参数是在赋值时才能明确其数据类型的。

sum = add(3, 5)             #均是整型
sum = add('3', '5')         #均是字符串(string)
sum = add(3, 5j)            #整型,复数
sum = add(3.1, 5.3)         #均是浮点型
sum = add(3.1, 5L)          #浮点型,长整型   注意:python 3版本中只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。
sum = add(True, True)       #均是布尔型
sum = add(True, 3)          #布尔型,整型
sum = add(-True, 3.5)       #布尔型,浮点型
sum = add('3', 5)           #x是字符串(string),y均是整型   注意:字符串和数值无法相加,也不能联结。

运营进度中,检查代码是不是合法:

C:\Users\******\Desktop>python sum.py
sum = add(3, 5)-------'3+5' 的结果是:8
sum = add('3', '5')---'3+5' 的结果是:35      #此处"+"的作用是拼接
sum = add('3', '5')---'3+5j' 的结果是:(3+5j)
sum = add(3.1, 5.3)---'3.1+5.3' 的结果是:8.4
sum = add(3.1, 5L)----'3.1+5' 的结果是:8.1
sum = add(True, True)-'True+True' 的结果是:2  #True的值是1,False是0
sum = add(True, 3)----'True+3' 的结果是:4
sum = add(-True, 3.5)-'-1+3.5' 的结果是:2.5
sum = add('3', 5)-----Traceback (most recent call last):
  File "sum.py", line 21, in <module>
    sum = add('3', 5)
  File "sum.py", line 3, in add
    sum = x + y
TypeError: cannot concatenate 'str' and 'int' objects

留神,在运作进程中,x赋值为’3’,所针对的对象是字符串类型(‘str’),y赋值为5,所指向的目的是整型(‘int’),它们既无法相加,也不能够凑合。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 美高梅手机版4858 版权所有