Python_Note[01]

数和表达式

整除: //
>>>-10 // 3 -4
*向下圆整 结果为负时,圆整后离0更远。理解为floor(x)

求余: % 等价于 x - ((x // y) * y)

乘方:**

十六进制、八进制、二进制数
oxAF 010 0b1011010010

str、float 并不是函数而是类
向下取整: math.floor()
向上取整:math.ceil()

cmath和复数:
nan = not a number 非数值

隐蔽冲突:
>>>import cmath注意没有使用from ... import ...,后者使用后无法正常使用常规函数sqrt
除非必须使用后者,否则坚持使用常规版import

变量

无默认值,需先赋值。不能以字母打头,字母、数字、下划线组成。

Q:表达式与语句?
A:表达式是一些东西,语句做一些事情

获取用户输入:input

>>> x = input("x: " 
x: 34 

变量命名
PEP 8要求:

  • 用小写字母拼写,多个单词用下划线连接;
  • 受保护的实例属性用单个下划线开头;
  • 私有的实例属性用两个下划线开头.

使用占位符格式化

>>>a = 100; b = 6
>>>print('%d + %d = %d' %(a, b, a + b))
100 + 6 = 106

变量类型转换
int() float() str() chr() ord()

函数

绝对值:abs
浮点数圆整为与之最接近的整数:round *距离两个整数一样近时圆整到偶数
幂运算:pow(x, y[, z]) z是可选参数 返回x的y次方对z求模的结果

模块

>>>import module
>>>module.function

or

>>>from module import function
def main():   
    # Todo: Add your code here
    pass


if __name__ == '__main__':   #当导入模块里有可执行代码,导入模块时即执行。只有当直接执行时模块名字才是“_main_”而不会执行。
    main()

global 全局 nonlocal 非嵌套作用域

运行Python脚本

脚本第一行(UNIX): #!/usr/bin/env python

$ chmod a+x hello.py
$ hello.py

or

./hello.py

注释

汝应注释 :thou shalt comment
233
如果写起来难,理解起来必然也难

字符串及方法:

转义:’ ‘’ 换行符:\n
'Let’s say ‘‘Hello’’ ’ → ‘Let’\s say ‘‘Hello’’ ’
拼接: 连续输入两个字符串,相加
使用str将值转换为用户能够看懂的字符串,使用repr通常会获得值的合法Python表达式表示

>>>print(repr(''Hello,\nworld!''))
'Hello,\nworld!'

>>>print(str(''Hello,\nworld!''))
Hello,
world!

长字符串: ‘’‘跨越多行’’’ or “”“like this”""
常规字符串跨越多行:行尾加
原始字符串:(不以特殊方式处理反斜杠,写正则)

>>>print(r 'C:\nowhere')
C:\nowhere

1.引号需要像通常那样进行转义,但是用于转义的反斜杠也将包含在最终的字符串中

>>>print(r'Let\'s go!')
Let\'s go!

2.原始字符串不能以单个反斜杠结尾(EOF),除非进行转义。
解决以\结尾的DOS路径:以\单独作为一个字符串

>>>print(r'C:\Program Files\foo\bar' '\\')
C:\Program Files\foo\bar\

3.使用原始字符串,可使用单/双/三引号

Unicode、bytes、bytearray:待补充
斯堪的纳维亚字母没有对应的ASCII编码,最好使用UTF-8

Note: 字符串不可变

  • 格式与转换
    在%左边指定一个字符串(格式字符串),并在右边指定要设置其格式的值
format = "Hello, %s . %s"
val = ("A", "b")
format % val
'Hello, A . b'

%s称为转换说明符,指出要将值插入什么地方,s意味着将值视为字符串进行格式设置。如果指定值不是字符串,将使用str转换。
%.3f将值的格式设置为包含3位小数的浮点数

  • 对齐
  • 查找

列表和元组

有些编程语言的第一个元素索引为1,但从0开始之初相对于序列开头的偏移量。

列表可更改,元组不可以。几乎在所有情况下都可使用列表来代替元组。

序列操作

  • 索引 indexing
    -1 最后一个元素
    对函数调用返回的序列也可执行索引操作:
>>>fourth = input('Year: ')[3]
Year: 2005
>>>fourth
'5'
  • 切片 slicing
    提供两个索引指定切片的边界,其中第一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内
    步长为第三个参数,默认为1,可为负,不能为0
>>>numbers[-3:0]
[]

如果第一个索引指定的元素位于第二个索引指定的元素后面,结果为空

[:]复制整个序列

  • 相加
    不能拼接不同类型的序列
  • 相乘
    序列与数x相乘,重复序列x次
>>>'python' * 3
'pythonpythonpython'
>>>[42]*2
[42, 42]

使用None初始化列表:

>>>seq = [None] * 3; seq
[None, None, None]
  • 成员资格检查
    运算符(布尔运算符)in,返回True/False

长度:len()
最小值:min() 返回序列中最小的元素
最大值:max() 返回序列中最大的元素

列表操作
函数(类)list
任何序列都可作为list参数

>>>list('hello')
['h','e','l','l','o']
  • 修改列表:mutable
  • 删除元素:del del names[2]
  • 切片赋值: 可替换为长度与其不同的序列;
  • 可在不替换原有元素的情况下插入新元素num[1:1] = [2,3,4]

列表方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值