python小记-1

在Python中,能够直接处理的数据类型有以下几种:

1.整数

多采用16进制,由0x 前缀、0-9、a-f 组成。例:0xff00

2.浮点数(小数)

科学计数法写法:1.23x10^9 ——> 1.23e+9

3.字符串

用 ‘ ‘/" "括起来的任意文本

(1)如果字符串内部既包含又包含",可以用转义字符\来标识,比如: ‘I\‘m \"OK\"!‘

为了简化,Python还允许用r‘‘表示‘‘内部的字符串默认不转义

如果字符串内部有很多换行,用\n写在一行里不好阅读,为了简化,Python允许用‘‘‘...‘‘‘的格式表示多行内容

4.布尔值

一个布尔值只有TrueFalse两种值

  • and运算是与运算,只有所有都为Trueand运算结果才是True ——短路逻辑
  • or运算是或运算,只要其中有一个为Trueor运算结果就是True
  • not运算是非运算,它是一个单目运算符,把True变成FalseFalse变成True

5.空值

空值是Python里一个特殊的值,用None表示。None不能理解为0,因为0是有意义的,而None是一个特殊的空值。

Python中,有两种除法,一种除法是/:

/除法计算结果是浮点数,即使是两个整数恰好整除,结果也是浮点数

还有一种除法是//:

称为地板除,两个整数的除法仍然是整数

字符编码

字符 ASCII Unicode UTF-8
A 01000001 00000000 01000001 01000001
x 01001110 00101101 11100100 10111000 10101101

计算机内存中统一使用Unicode编码

要保存到硬盘或需要传输的时候,转换为UTF-8编码

字符串

ord(‘A‘)=65 —— 获取字符的整数表示

chr(66)=‘B‘ —— 把编码转换为对应的字符

  • Python字符串类型是str,在内存中一Unicode表示,若要用网络进行传输、保存到磁盘上,str——>(以字节为单位)bytes

Python对bytes类型的数据用带b前缀的单引号或双引号表示:

       x = b‘ABC‘

要注意区分‘ABC‘b‘ABC‘,前者是str,后者虽然内容显示得和前者一样,但bytes的每个字符都只占用一个字节。

  • 以Unicode表示的str通过encode()方法可以编码为指定的bytes,例如:

    >>> ‘ABC‘.encode(‘ascii‘)
         b‘ABC‘
    >>> ‘中文‘.encode(‘utf-8‘)
         b‘\xe4\xb8\xad\xe6\x96\x87‘
  • 纯英文的str可以用ASCII编码为bytes,内容是一样的,含有中文的str可以用UTF-8编码为bytes
  • 如果我们从网络或磁盘上读取了字节流,那么读到的数据就是bytes。要把bytes变为str,就需要用decode()方法:
    >>> b‘ABC‘.decode(‘ascii‘)
        ‘ABC‘
    >>> b‘\xe4\xb8\xad\xe6\x96\x87‘.decode(‘utf-8‘)
        ‘中文‘
  • 由于Python源代码也是一个文本文件,所以,当你的源代码中包含中文的时候,在保存源代码时,就需要务必指定保存为UTF-8编码。当Python解释器读取源代码时,为了让它按UTF-8编码读取,我们通常在文件开头写上这两行:
    #!/usr/bin/env python3
    # -*- coding: utf-8 -*-
  • 第一行注释是为了告诉Linux/OS X系统,这是一个Python可执行程序,Windows系统会忽略这个注释;

    第二行注释是为了告诉Python解释器,按照UTF-8编码读取源代码,否则,你在源代码中写的中文输出可能会有乱码。

    申明了UTF-8编码并不意味着你的.py文件就是UTF-8编码的,必须并且要确保文本编辑器正在使用UTF-8 without BOM编码:

格式化

常见的占位符有:

占位符 替换内容
%d 整数
%f 浮点数
%s 字符串
%x 十六进制整数

>>>print(‘%.2f ‘ %3.1415926)

>>>3.14

  • 若字符串里%是一个普通字符,则需要转义
  • >>>%d %% %7
  • >>>7%

format()  ——位置占位符

  >>> ‘Hello, {0}, 成绩提升了 {1:.1f}%‘.format(‘小明‘, 17.125)

  ‘Hello, 小明, 成绩提升了 17.1%‘

运算符优先级:

  1. 幂运算  **
  2. 正负号 + -
  3. 算术操作符 *  /  //  +   -
  4. 比较操作符 <  <=  >  >=  ==  !=
  5. 逻辑运算符 and or not

条件表达式(三元操作符)

x, y=4,5

if x<y:

small = x

else:

small = y

————>

small = x if x<y else y

small =(x if x<y and x<z) else (y if y<z else z)

Assert断言

当assert后条件为假,程序自动崩溃 ——AssertionError——反之忽略——【置入检查点】

原文地址:https://www.cnblogs.com/Aurakkk-8/p/11620300.html

时间: 2024-12-13 16:45:37

python小记-1的相关文章

python小记(5)

静态方法和类方法 先看下面的代码 #!/usr/bin/env python #coding:utf-8 class Foo(object): #Python 3: class Foo: one = 0 def __init__(self): Foo.one = Foo.one + 1 def get_class_attr(cls): return cls.one if __name__ == "__main__": f1 = Foo() print "f1:",F

python小记(3)

使用with 在对文件进行写入操作之后,一定要牢记一个事情:file.close(),这个操作千万不要忘记,忘记了怎么办,那就补上吧,也没有什么天塌地陷的后果. 有另外一种方法,能够不用这么让人揪心,实现安全地关闭文件. >>> with open("130.txt","a") as f: ... f.write("\nThis is about 'with...as...'") ... >>> with op

python小记--格式化输出

python print格式化输出. 1. 打印字符串 print ("His name is %s"%("Aviad")) 效果: 2.打印整数 print ("He is %d years old"%(25)) 效果: 3.打印浮点数 print ("His height is %f m"%(1.83)) 效果: 4.打印浮点数(指定保留小数点位数) print ("His height is %.2f m&qu

[python小记]使用lxml修改xml文件,并遍历目录

这次的目的是遍历目录,把目标文件及相应的目录信息更新到xml文件中.在经过痛苦的摸索之后,从python自带的ElementTree投奔向了lxml.而弃用自带的ElementTree的原因就是,namespace. XML命名空间 作用是为避免元素命名冲突,当出现命名冲突的时候,可以使用前缀来避免命名冲突,就如: <h:table> <h:tr> <h:td>App Store</h:td> <h:td>Google Play</h:td

python小记--解释器

Cpython     linux 自带的解释器,用C语言写的,应该是最常用的python解释器了 Ipython      基于Cpython的交互式解释器 Pypy          使用JIT技术,能对python代码进行动态编译(而不是编译),显著提高代码执行速度,几乎兼容Cpython的代码,如果想让你的python程序快起来,就用它吧 Jpython    Java语言写的python ironpython  用C#语言写的python

python小记(4)

在Python 3中,你可以使用nonlocal关键词,如下演示. 1 def foo(): 2 a = 1 3 def bar(): 4 nonlocal a 5 a = a + 1 6 print("bar()a=",a) 7 bar() 8 print("foo()a=",a) 9 10 foo() 11 #output 12 #bar()a= 2 13 #foo()a= 2

Python小记5

接https://www.cnblogs.com/airlinp/p/12516653.html 8. 循环 8.1 Python程序的三个流程方式 顺序 — 从上往下,顺序执行代码: 分支 — 根据判断条件,决定代码执行的分支: 循环 — 让指定代码重复执行: 8.2 while 8.1 while基本语法 初始条件 - 计数器初始化 while 条件(判断计数器是否达到目标): 条件满足,执行事件1 条件满足,执行事件2 条件满足,执行事件3 … 处理条件(计数器+1) 有上可知: 初始条件

Python小记

赛选回文数 def is_palindrome(num): return num > 9 and str(num) == str(num)[::-1] output = filter(is_palindrome,range(1,10000)) print(list(output)) 对L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]分别按名字和分数排序 L = [('Bob', 75), ('Adam', 92), ('Bar

python小记(1)

“*” 字符串中的“乘法”,这个乘法,就是重复那个字符串的含义.在某些时候很好用的.比如我要打印一个华丽的分割线: >>> str1*3 'abcdabcdabcd' >>> print "-"*20 #不用输入很多个`-` --------------------