python3 基础教程

一、基础语法

1. 多行语句

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

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

2. 空行

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

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

记住:空行也是程序代码的一部分。

3. 同一行显示多条语句

import sys; x = 'runoob'; sys.stdout.write(x + '\n')

4. print输出

print 默认输出是换行的,如果要实现不换行需要在变量末尾加上 end=""

5. import导入模块

在 python 用 import 或者 from...import 来导入相应的模块。

将整个模块(somemodule)导入,格式为: import somemodule

从某个模块中导入某个函数,格式为: from somemodule import somefunction

从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc

将某个模块中的全部函数导入,格式为: from somemodule import *

二、基本数据类型

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

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

  • Number(数字)
  • String(字符串)
  • List(列表)
  • Tuple(元组)
  • Sets(集合)
  • Dictionary(字典)

1. Number

(1)支持类型:Python3 支持 int、float、bool、complex(复数)

(2)基本运算:+,-,*,/(返回浮点数),//(返回整数),**(乘方),%(取模)

(3)查询数据类型:

内置的 type() 函数可以用来查询变量所指的对象类型,此外还可以用 isinstance 来判断

type()不会认为子类是一种父类类型,isinstance()会认为子类是一种父类类型。

class A:
    pass
class B(A):
    pass
isinstance(A(), A)  # returns True
type(A()) == A      # returns True
isinstance(B(), A)    # returns True
type(B()) == A        # returns False

(4)注意

  • Python可以同时为多个变量赋值,如a, b = 1, 2
  • 一个变量可以通过赋值指向不同类型的对象。
  • 在混合计算时,Python会把整型转换成为浮点数。

2. 字符串(String)

字符串写在单引号或者双引号之间。

(1)截取字符串

变量[头下标:尾下标]

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


(2)转义字符“\"

Python 使用反斜杠(\)转义特殊字符,如果你不想让反斜杠发生转义,可以在字符串前面添加一个 r,表示原始字符串,转义字符也作为续行符。

>>> print('Ru\noob')
Ru
oob
>>> print(r'Ru\noob')
Ru\noob


(3)注意

  • Python 没有单独的字符类型,一个字符就是长度为1的字符串
  • 与 C 字符串不同的是,Python 字符串不能被改变。向一个索引位置赋值,比如word[0] = 'm'会导致错误。

3. 列表(list)


注意:

  • List写在方括号 "[ ]" 之间,元素用逗号 "," 隔开。
  • 列表中元素的类型可以不相同,它支持数字,字符串 , 甚至可以包含列表。
  • 和字符串一样,list可以被索引和切片:变量[头下标:尾下标]
  • List可以使用+操作符进行拼接。
  • List中的元素是可以改变的。

4. 元组(Tuple)

元组写在圆括号 “( )” 里,元素之间用逗号隔开。

元组与列表类似,支持索引和切片,其中元素不可以改变,不过可包含可变的对象,如列表。

字符串可视为特殊元组。

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

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


5.集合(Set)

定义:集合是一个无序不重复的序列。

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

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

#!/usr/bin/python3
student = {'Tom', 'Jim', 'Mary', 'Tom', 'Jack', 'Rose'}
print(student)   # 输出集合,重复的元素被自动去掉
# 成员测试
if('Rose' in student) :
    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中不同时存在的元素

输出:

{'Mary', 'Jim', 'Rose', 'Jack', 'Tom'}
Rose 在集合中
{'b', 'a', 'c', 'r', 'd'}
{'b', 'd', 'r'}
{'l', 'r', 'a', 'c', 'z', 'm', 'b', 'd'}
{'a', 'c'}
{'l', 'r', 'z', 'm', 'b', 'd'}


6. 字典(Dictionary)

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

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

#!/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()) # 输出所有值

7.数据类型转换
函数描述

int(x [,base])

将x转换为一个整数

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)

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

hex(x)

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

oct(x)

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


8. 实例

# -*- coding: UTF-8 -*-
# 生成 0 ~ 9 之间的随机数
# 导入 random(随机数) 模块
import random
print(random.randint(0,9))

多行注释用三个单引号 ''' 或者三个双引号 """ 将注释括起来


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值