zoukankan      html  css  js  c++  java
  • 【python教程】1、基础知识、序列操作

    一、基础知识

    1、数和表达式

    算术运算符:+、-、*、/(结果为浮点数)、//(整除,向下圆整)、%、**(乘方/求幂)

    进制的前缀:二进制(0b)、八进制(0o)、十六进制(0x)

    2、变量:只能有字母、数字和下划线组成,且不能以数字开头。使用变量前必须给它赋值。

    3、模块:可将模块视为扩展,通过将其导入可以扩展python功能。

    4、字符串

    1.符号:

    ' ' 、" "、 转义字符、长字符串""" """、原始字符串 r(引号需要转义,不能以单个反斜杠结尾)。

    长字符串、原始字符串:用于表示包含换行符或反斜杠的字符串。

    常规字符串要横跨多行时,只需在行尾加上反斜杠。

    2.拼接字符串:'a'+'b'。

    3.字符串表示 str 和 repr:

    >>> print(str('hello!
    world'))  # 使用str,能以合理的方式将值转换为用户能看懂的字符串
    Hello,
    world
    >>> print(repr('hello!
    world'))  # 使用repr,会获得值的合法python表达式表示
    'hello!
    world'
    

    5、unicode、bytes 和 bytearray

    在python3中,所有的字符串都是Unicode字符串。python 字符串使用 unicode 编码来表示文本。

    每个unicode字符都用一个码点表示,码点是unicode标准给每个字符指定的数字。这让你能够以任何现在软件都能识别的方式表示129个文字系统中的12万个以上的字符。

    Unicode的理念很简单,但却存在编码问题。在内存和磁盘中,所有对象都是以二进制数字表示的(每8个一组-字节),字符串就是字节序列。

    在诸如c等编程语言中,字节完全暴露。为与 C 语言互操作以及将文本写入文件或通过网络套接字发送出去,python 提供两种类似的类型:不可变的 bytes 和可变的 bytearray 。

    6、print

    # 自定义分隔符'_'
    print('I', 'am', 'amy', sep='_')  # 打印:I_am_amy
    # 自定义结束字符串,以替换默认的换行符
    print('Hello,', end='')
    print('world!')  # 打印'Hello,world!'
    

    7、赋值

    # 1、序列解包(可迭代对象解包):将一个序列解包,并将得到的值存储到一系列变量中
    x, y, z = 1, 2, 3  # 要解包的序列中的元素个数必须与左边的目标个数相同
    x, y = y, x  # 交换多个变量的值
    a, b, *rest = [1, 2, 3, 4]  # 使用*号来收集多余的值,rest=[3, 4]
    a, *b, c = 'abcd'  # 赋值语句的右边可以是任何类型的序列,但带*号的变量最终包含的总是一个列表。b=['b', 'c']
    
    # 2、链式赋值:是一种快捷方式,用于将多个变量关联到同一个值
    x = y = 1  # 等价于y = 1; x = y
    
    # 3、增强赋值:不写代码x = x + 1,将右边表达式中的运算符移到赋值运算符的前面,写成x += 1。适用于所有标准运算符:*、/、%。
    

    8、布尔值

    假:标准值False和None,各种类型(浮点数、复数)的数值0、空序列(空字符串/元组/列表)和空映射

    真:其他各种值

    布尔值 True 和 False 属于类型bool,bool与list、str、tuple一样,可用来转换其他值。

    注意:[]和''都为假( bool([]) == bool('') ),但 [] != ''。

    二、通用的序列操作

    数据结构:是以某种方式(通过编号)组合起来的数据元素集合。在python中,最基本的数据结构是序列。序列中的每个元素都有索引,如列表、元组、字符串。

    python支持一种数据结构的基本概念,名为容器。容器基本上就是可包含其他对象的对象。两种主要的容器是序列(列表、元组)和映射(字典)。还有一种是集合(set)。

    1、索引:序列中的所有元素都有编号,从0开始递增。使用索引访问单个元素,可以使用负数索引。

    2、切片:访问特定范围内的元素。提供两个索引指定切片的边界,第一个索引指定的元素在切片内,第二个不在。

    a = [1, 2, 3, 4, 5]
    print(a[2:-1])  # 1、负数索引,不能包含最后一个元素
    print(a[2:0])  # 2、使用索引0,结果为[]。如果第一个索引指定的元素在第二个后面,结果就为空序列
    print(a[:2])  # 3、切片始于序列开头,可省略第一个索引
    print(a[])  # 4、复制整个序列,可将两个索引都省略
    

    3、序列相加:不能拼接不同类型的序列

    print([1,2]+[3,4]) # 结果为[1,2,3,4]
    print('hello, '+'world!')
    

    4、乘法

    print('an'*5)  # 字符串相乘
    print([1,2]*3)  # 列表相乘,结果为[1,2,1,2,1,2]
    print([None]*5)  # 结果为[None,None,None,None,None]
    

    5、in 运算符:检查特定的对象是否在序列中(只能用于检查单个字符)

    6、长度 len()、最大值 max()、最小值min()

  • 相关阅读:
    写个perl程序自动下载《南方周末》(2005年12月最后一期,38版,值得一看)
    Android 关于inflate
    Android读取系统相册图片并获得绝对地址
    Android设置一个SubMenu来更改背景颜色
    ExpandableListView(可展开的列表组件)使用方法
    Android自定义Tabs文字,背景
    Android上开发新浪微博OAuth2.0认证
    Android线程显示进度框
    Android http get/post传递参数
    总结:Upate field which lookups from Content Types
  • 原文地址:https://www.cnblogs.com/mind18/p/15034590.html
Copyright © 2011-2022 走看看