Python学习

第一章

Print(“Hello,World”);

标识符:字母 下划线 数字(首字非数字) 大小写敏感

注释:#jjjjnjk

 

 

行与缩进

使用缩进来表示代码块,不需要使用大括号({})

if True:

    print ("Answer")

    print ("True")

else:

    print "(Answer")

  print ("False")    # 缩进不一致,会导致运行错误

多行语句

通常是一行写完一条语句,但如果语句很长,我们可以使用反斜杠(\)来实现多行语句

total = item_one + \
        item_two + \
        item_three

在 [], {}, 或 () 中的多行语句,不需要使用反斜杠(\),例如:

total = ['item_one', 'item_two', 'item_three',
        'item_four', 'item_five']

数据类型

四种:整数int 长整数long 浮点数float(1.23 2E-2(2*10-2)) 复数complex(1+2.2j)复数由实数部分和虚数部分构成,可以用a + bj,或者complex(a,b)表示,复数的实部a和虚部b都是浮点型 

Python 3支持int、float、bool逻辑(是、否)、complex(复数)。只有一种整数类型 int,表示为长整型,没有 python2 中的 Long。int、float、bool逻辑(是、否)、complex(复数)

注意:Python2中是没有布尔型的,它用数字0表示False,用1表示True。到Python3中,把TrueFalse定义成关键字了,但它们的值还是10,它们可以和数字相加。

字符串

1.单引号和双引号使用完全相同

2.使用三引号('''或""")可以指定一个多行字符串。

3.转义符 '\',使用反斜杠(\)转义特殊字符。反斜杠可以用来转义,使用r可以让反斜杠不发生转义。

3.自然字符串, 通过在字符串前加rR。如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串: 如 r"this is a line with \n"\n会显示,并不是换行。

 

4.python允许处理unicode字符串,加前缀u或U, 如 u"this is an unicode string"。

Unicode:统一码(采用双字节对字符进行编码)

5.字符串是不可变的。

与C 字符串不同的是,Python字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误。

6.按字面意义级联字符串,如"this " "is ""string"会被自动转换为this is string。

空行

函数之间或类的方法之间用空行分隔,表示一段新的代码的开始。类和函数入口之间也用一行空行分隔,以突出函数入口的开始。

空行与代码缩进不同,空行并不是Python语法的一部分。书写时不插入空行,Python解释器运行也不会出错。但是空行的作用在于分隔两段不同功能或含义的代码,便于日后代码的维护或重构。

等待用户输入

执行下面的程序在按回车键后就会等待用户输入:

#!/usr/bin/python3
input("\n\n按下 enter 键后退出。")

以上代码中 ,"\n\n"在结果输出前会输出两个新的空行。一旦用户按下键时,程序将退出。

多个语句构成代码组

缩进相同的一组语句构成一个代码块,我们称之代码组。

像if、elif、while、def和class这样的复合语句,首行以关键字开始,以冒号( : )结束,该行之后的一行或多行代码构成代码组。

我们将首行及后面的代码组称为一个子句(clause)。

如下实例:

if expression : 
   suite
elif expression : 
   suite 
else : 
   suite

命令行参数

Python可以使用-h参数查看各参数帮助信息:

第二章

Python 中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

在 Python 中,变量就是变量,它没有类型,我们所说的"类型"是变量所指的内存中对象的类型。

多个变量赋值

Python允许你同时为多个变量赋值。例如:

a = b = c = 1

也可以为多个对象指定多个变量。例如:

a, b, c = 1, 2,"runoob"

标准数据类型

Python3中有六个标准的数据类型:

·        Number(数字)

·        String(字符串)

·        List(列表)

·        Tuple(元组)

·        Sets(集合)

·        Dictionary(字典)

1.      数字

内置的type()函数可以用来查询变量所指的对象类型

输入:

a, b, c, d = 20, 5.5, True, 4+3j
print(type(a), type(b), type(c), type(d))

输出:

<class 'int'> <class 'float'> <class 'bool'> <class 'complex'>

可以使用del语句删除对象引用

del语句的语法是:

del var1[,var2[,var3[....,varN]]]]

您可以通过使用del语句删除单个或多个对象。例如:

del var
del var_a, var_b

数值运算

>>> 5 + 4  # 加法
9
>>> 4.3 - 2 # 减法
2.3
>>> 3 * 7  # 乘法
21
>>> 2 / 4  # 除法,得到一个浮点数
0.5
>>> 2 // 4 # 除法,得到一个整数
0
>>> 17 % 3 # 取余 
2
>>> 2 ** 5 # 乘方
32

1、数值的除法(/)总是返回一个浮点数,要获取整数使用//操作符。

2、在混合计算时,Python会把整型转换成为浮点数

String(字符串)

字符串用单引号(')或双引号(")括起来,同时使用反斜杠(\)转义特殊字符。

字符串的截取的语法格式如下:

变量[头下标:尾下标]

索引值以 0 为开始值-1 为从末尾的开始位置

输入:

word='Python'

print(word[0]+word[5])  #+连接符

print(word[-1],word[-6])  #没有+,空一个

输出:

Pn

n P

加号 (+) 是字符串的连接符, 星号 (*) 表示复制当前字符串)紧跟的数字为复制的次数。

str = 'Runoob'
print (str)          # 输出字符串
print (str[0:-1])    # 输出第一个个到倒数第二个的所有字符
print (str[0])       # 输出字符串第一个字符
print (str[2:5])     # 输出从第三个开始到第五个的字符,左包括,右不包括
print (str[2:])      # 输出从第三个开始的后的所有字符
print (str * 2)      # 输出字符串两次
print (str + "TEST") # 连接字符串

执行以上程序会输出如下结果:

Runoob
Runoo
R
noo
noob
RunoobRunoob
RunoobTEST

Python 没有单独的字符类型,一个字符就是长度为1的字符串。

List(列表)

1、List列表是写在方括号([])之间、用逗号分隔开的元素列表。

2、  和字符串一样,list可以被索引和切片。列表被截取后返回一个包含所需元素的新列表

列表截取的语法格式如下:

变量[头下标:尾下标]#不包括右边的,左包右不包

索引值以 0 为开始值,-1 为从末尾的开始位置;加号(+)是列表连接运算符,星号(*)是重复操作。

3、List可以使用+操作符进行拼接。

4、List中的元素是可以改变的。

列表可以完成大多数集合类的数据结构实现。列表中元素的类型可以不相同,它支持数字,字符串甚至可以包含列表(所谓嵌套)。

输入:

list = [ 'abcd',786 , 2.23, 'runoob', 70.2 ]

tinylist = [123,'runoob']

 

print (list)            # 输出完整列表

print(list[0])         # 输出列表第一个元素,只输出一个元素,就不是列表了,不用加[] ‘’

print(list[1:3])       # 从第二个开始输出到第三个元素

print(list[2:])        # 输出从第三个元素开始的所有元素

print (tinylist *2)    # 输出两次列表

print (list +tinylist) # 连接列表

输出:

['abcd', 786,2.23, 'runoob', 70.2]

abcd

[786, 2.23]

[2.23, 'runoob',70.2]

[123, 'piupiu',123, 'piupiu']

['abcd', 786,2.23, 'runoob', 70.2, 123, 'piupiu']

Tuple(元组)

1.与列表类似,但元组中元素不能修改。元组写在小括号(())里,元素之间用逗号隔开

>>> tup = (1, 2, 3, 4, 5, 6)
>>> print(tup[0])
1
>>> print(tup[1:5]])
(2, 3, 4, 5)
>>> tup[0] = 11  # 修改元组元素的操作是非法的
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'tuple' object does not support item assignment
>>> 

虽然元组tuple的元素不可改变,但它可以包含可变的对象,比如list列表。

2.元组中的元素类型可以不相同,元组也可以被索引和切片,方法一样。下标索引从0开始,-1 为从末尾开始的位置。元组也可以使用+操作符进行拼接

tuple = ( 'abcd', 786 , 2.23, 'runoob', 70.2  )
tinytuple = (123, 'runoob')
 
print (tuple)             # 输出完整元组
print (tuple[0])          # 输出元组的第一个元素,输出元素就不需要加括号了
print (tuple[1:3])        # 输出从第二个元素开始到第三个元素
print (tuple[2:])         # 输出从第三个元素开始的所有元素
print (tinytuple * 2)     # 输出两次元组
print (tuple + tinytuple) # 连接元组

以上实例输出结果:

('abcd', 786, 2.23, 'runoob', 70.2)
abcd
(786, 2.23)
(2.23, 'runoob', 70.2)
(123, 'runoob', 123, 'runoob')
('abcd', 786, 2.23, 'runoob', 70.2, 123, 'runoob')

3. 构造包含 0 个或 1 个元素的元组比较特殊,所以有一些额外的语法规则:

tup1 = ()    # 空元组
tup2 = (20,) # 一个元素,需要在元素后添加逗号

string、list和tuple都属于sequence(序列)

Set(集合)

集合(set)是一个无序不重复元素的序列

基本功能是进行成员关系测试删除重复元素

可以使用大括号({})或者 set()函数创建集合,注意:创建一个空集合必须用 set()而不是 { },因为 { }是用来创建一个空字典。

#!/usr/bin/python3

 

student = {'Tom','Jim', 'Mary', 'Tom', 'Jack', 'Rose'}

print(student)   # 输出集合,重复的元素被自动去掉

# 成员测试

if('Rose' instudent) :

    print('Rose 在集合中')

else :

                    print('Rose 不在集合中')

 

# set可以进行集合运算

a =set('abracadabra')

b = set('alacazam')

print(a)          #不按顺序

print(a - b)     # a和b的差集

print(a | b)     # a和b的并集

print(a &b)     # a和b的交集

print(a ^ b)     # a和b中不同时存在的元素

输出:

{'Jack', 'Mary','Tom', 'Jim', 'Rose'}

Rose 在集合中

{'a', 'c', 'r','b', 'd'}

{'d', 'b', 'r'}

{'a', 'z', 'c','r', 'b', 'm', 'd', 'l'}

{'a', 'c'}

{'d', 'z', 'r','b', 'm', 'l'}

Dictionary(字典)

一个非常有用的内置数据类型。

1.列表有序的对象结合,字典无序的对象集合。两者之间的区别在于:字典当中的元素通过键来存取的,而不是通过偏移存取。

2.字典是一种映射类型,字典用"{ }"标识,它是一个无序的(key) :(value)集合。它的元素是键值对

3.键(key)必须使用不可变类型。字典的关键字必须为不可变类型,且不能重复

4.在同一个字典中,(key)必须是唯一的。创建空字典使用 { }

#!/usr/bin/python3
 
dict = {}
dict['one'] = "1 - 菜鸟教程"
dict[2]     = "2 - 菜鸟工具"
tinydict = {'name': 'runoob','code':1, 'site': 'www.runoob.com'}  #无序
 
print (dict['one'])       # 输出键为 'one' 的值
print (dict[2])           # 输出键为 2 的值
print (tinydict)          # 输出完整的字典
print (tinydict.keys())   # 输出所有键
print (tinydict.values()) # 输出所有值

以上实例输出结果:

1 - 菜鸟教程
2 - 菜鸟工具
{'name': 'runoob', 'site': 'www.runoob.com', 'code': 1}
dict_keys(['name', 'site', 'code'])
dict_values(['runoob', 'www.runoob.com', 1])

?Python数据类型转换

有时候,我们需要对数据内置的类型进行转换,数据类型的转换,你只需要将数据类型作为函数名即可。

以下几个内置的函数可以执行数据类型之间的转换。这些函数返回一个新的对象,表示转换的值

函数

描述

int(x [,base])???

将x转换为一个整数#base:基数(如十进制的10 和二进制的2)

float(x)

将x转换到一个浮点数

complex(real [,imag])

创建一个复数

str(x)

将对象 x 转换为字符串

repr(x)

将对象 x 转换为表达式字符串

eval(str)

用来计算在字符串中的有效Python表达式,并返回一个对象

tuple(s)

将序列 s 转换为一个元组

list(s)

将序列 s 转换为一个列表

set(s)

转换为可变集合

dict(d)

创建一个字典。d 必须是一个序列 (key,value)元组。

frozenset(s)

转换为不可变集合

chr(x)

将一个整数转换为一个字符

unichr(x)

将一个整数转换为Unicode字符

ord(x)

将一个字符转换为它的整数值

hex(x)

将一个整数转换为一个十六进制字符串

oct(x)

将一个整数转换为一个八进制字符串

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值