介绍python基础学习的八个要素:
#1:数据类型
python提供了多种内置数据类型,首先关注int类型与str类型:
1、int类型:表示整数(正、负),且python所能表示的整数大小只受限于机器内存,而非固定数量的字节数。
2、str类型:表示字符串(unicode字符序列,不局限于ASCII字符),可使用单引号/双引号封装。
a.python使用[]来存取字符串等序列中的某一项,如
>>>"giraffe"[0]
'g'
b.虽然可以使用[]取回字符串中给定某索引处的字符,但是不能将其设置为新的字符;
注意:在python中,str类型与基本的数据类型都是固定的,一旦设定,其值就不可更改,若是需要将一个数据类型转换为另一个数据类型,则可以使用datatype(item),(若是转换失误,会给出异常信息)如:
>>>int("45")
45
>>>str(99)
'99'
#2:对象引用
定义数据类型之后,需要定义存储某些类型数据的变量,但是python是没有变量的,而是使用“对象引用”。如语法是简单的objectReference=value.
x="blue"
y="green"
z=x
在python中,“=”是将对象引用与内存中的对象进行绑定。
另,python中使用动态类型机制,因此有效的操作是可以改变的,如对某个对象引用可以重新绑定至不同数据类型的对象:
route=86
print(route,type(route)) #prints:86<class 'int'>
route='north'
print(route,type(route))#prints:north<class 'str'>
a.在将route引用新的str变量,int对象将进入垃圾收集流程(因没有对象引用再对其进行引用)
b.type()函数将返回给定数据项的数据类型(也称为类)
#3:组合数据类型
python提供几种组合数据类型,包括关联数据与集合数据等类型,先讨论两种:元祖与列表(可用于存储任意数量、任一类型的数据项)。
1、元组:固定的,创建后不可改变,使用逗号创建,如:
>>>"dema","finland","norway","Sweden"
('dema','finland','norway','Sweden')
>>>"one"
('one',)
注:如果需要将元组常值作为参数传递,则必须使用括号对其进行封装,以免混淆。
2、列表:可变的,需要时可插入或移除数据项,使用[]创建,如:
>>>x=[3,5,1,2,"pause",5]
>>>x.append("more")
>>>x
[3,5,1,2,"pause",5,'more']
注:list类型有很多方法,如insert(),remove()等。
#4:逻辑操作符
python提供了4组逻辑运算:
1、身份操作符:is
is操作符,表示其左端的对象引用与右端的对象引用是否指向同一对象,若是则返回true。
>>>a=["retention",3]
>>>b=["retention",3]
>>>a is b
False
>>>b=a
>>>a is b
True
注意:is操作符只需要对对象所在的内存地址进行比较,同样的地址存储的是同样的对象。
2、比较操作符:< 、<=、==、>=、>(对对象值进行比较)
>>>a=2
>>>b=6
>>>a==b
False
>>>a>b
False
>>>a<=b,a!=b,a>=b,a<b
(True,True,False,True)
结链比较,如
>>>a=9
>>>0<=a<=10
True
3、成员操作符:in 表示成员关系,not in表示非成员关系
>>>p=(4,'forg',9,-33,9,2)
>>>2 in p
True
>>>'dog' not in p
True
对于列表与元组,in操作符使用线性搜索,对于较大的组合类型,速度可能会较慢。
4、逻辑云算符:and、or、not
and、or:使用短路逻辑,返回决定结果的操作数,如果逻辑表达式本身出现在布尔上下文,则结果也为布尔值。
>>>five =5
>>>two=2
>>>five and two
2
>>>five or two
5
>>not two
False
not:在布尔上下文中评估其参数,并总是返回布尔型结果
#5:控制流语句
1、if语句
suite为python中一块代码,即一条或多条语句组成的序列。pass为一条空语句,不进行任何的操作,可用于需要suite但又不需要操作的的地方。
if x:
print("x is nonzero")
if lines<1000:
print("small")
elif lines<10000:
print("medium")
else:
print("large")
注:
a:语句中冒号:的使用是语句的组成部分之一,不可丢失;
b:多层elif只返回第一次满足条件的结果;
2、while语句
while True:
item = get_next_item()
if not item:
break
process_item(item)
break:跳出循环;
continue:将控制流导向至循环起始处。
注:无限循环时,可使用ctrl+c来终结。
3、for ..in 语句
for letter in "ABCDEFGHIJKLMNOPQRSTUVWXYZ":
if letter in "AEIOU":
print(letter,"is a vowel")
else:
print(letter,"is a consonant")
4、基本异常处理
python中异常也是一个对象,转换为字符串是异常会产生一条消息文本。
s=input("enter an integer:")
try:
i=int(s)
print("vaild integer entered:")
except ValueError as err:
print(err)
异常处理的逻辑工作:若try中语句正常执行,没有产生异常,则except模块将会被跳过;若try中产生了异常,则控制流将会立即转向第一个与该异常匹配的语句部分。。上述例子若输入3.5,则输出invaild literal for int() with base 10:'3.5',若输入3,则输出为vaild integer entered :13。
#6:算数操作符
基本四则运算操作符:+、-、*、/
特殊运算操作符://取整(剥离)、%取余
增强的赋值操作符:+=、*=
>>>5+6
11
>>3-7
-4
>>>12/3
4.0
>>>3/2
1.5
注:除法操作符会产生一个浮点数,而非一个整数。若需要得到整数可以使用int()进行转换,或者使用剥离操作符//。
>>>a=5
>>>a
5
>>>a +=8
>>>a
13
a:由于int数据类型是固定的,则执行增强的操作符之后会将a重新绑定为引用这个新的对象,而a正在引用的原始对象若无其他 的对象引用,就会进入垃圾收集流程。
b: a operator =b 与 a=a operator b并不完全一致。前者只查询a一次,具有更快的可能性;若a是一个复杂的表达式(如列表索引items[offset+index]),后者较少出错,因为如果计算过程需要改变,那么维护者只需要改变一次,而不是两次。
c:python重载了+与+=,将其应用于字符串与列表,前者表示连接,后者表示追加字符串并扩展列表,如:
>>>name = "john"
>>>name +"DOE"
'johnDOE'
>>>name +="doe"
>>>name
'johndoe'
#7:输入输出
python那个了内置的input()函数,用于接收来自用户的输入。
#8:函数的创建与调用
创建函数通用的语法格式:
def functionName(arguments):
suite
python有大量的内置函数。若要使用某个模块中的函数功能,则先导入该模块:
import sys
而使用模块中函数的语法格式为:
module Name.functionName(arguments)
注:标准模块的模块名都是小写字母,一般开发人员自行编写的模块均为大写字母,以区分标准模块。
import random
x=random.randint(1,6)
y=random.choice(["app","ban","cde","dee"])
建议:先导入标准库模块,再导入第三方模块,最后导入自行编写的模块。且将所有import语句放在.py文件的起始处。
本文结束!