Python 基础

python学习网 2019-10-24 21:35:08

 


注释:单行:#……  多行:单引号(’’’) 双引号(”””)

基本数据类型:整数:int;浮点数:float(只有这两种);str:字符串;bool:布尔类型;complete:复数;list:列表;tuple:元组;set:集合;dict:字典

 1 >>> type(2)
 2 <class 'int'>
 3 >>> type(1.1)
 4 <class 'float'>
 5 >>> type(1+1.1)
 6 <class 'float'>
 7 >>> type(2/2)
 8 <class 'float'>
 9 >>> type(2//2)
10 <class 'float'>
11  >>> 2//2
12 1
13 >>> 2/2
14 1.0
15 >>> 2*2
16 4
基本类型

type()用来获取该表达式的数据类型

//:  除并取整

/ :除之后商有一位小数

1 print("I", end=" ")
2 print("love ", end='')
3 print("you !")           # I love you !(没有换行)

进制转换

 1 >>> 0b10    # 二进制
 2 2
 3 >>> 0o10    # 八进制
 4 8
 5 >>> 0x10    # 十六进制
 6 16
 7 >>> bin(0o10)    # 八进制 转换 二进制
 8 '0b1000'
 9 >>> bin(10)       # 十进制 转换 二进制
10 '0b1010'
11 >>> bin(0x10)    # 十六进制 转换 二进制
12 '0b10000'
13 >>> int(0b10)     # 二进制 转换 八进制
14 2
15 >>> int(0o10)     # 十进制 转换 八进制
16 8
17 >>> int(0x10)     # 十六进制 转换 八进制
18 16
19 >>> hex(0b10)   # 二进制 转换 十六进制
20 '0x2'
21 >>> hex(0o10)   # 八进制 转换 十六进制
22 '0x8'
23 >>> hex(10)      # 十进制 转换 十六进制
24 '0xa'
进制转换

布尔类型

 1 # True和False首字母都要大写
 2 >>> type(True)
 3 <class 'bool'>
 4 >>> type(False)
 5 <class 'bool'>
 6 >>> int(True)
 7 1
 8 >>> int(False)
 9 0
10 >>> bool(1)
11 True
12 >>> bool(0)
13 False
14 >>> bool(2)
15 True
16 >>> bool(2.2)
17 True
18 >>> bool(-2)
19 True
20 >>> bool('abc')
21 True
22 >>> bool('')
23 False
24 >>> bool([1,2,3])
25 True
26 >>> bool([])
27 False
28 >>> bool({1,2,3})
29 True
30 >>> bool({})
31 False
32 >>> bool(None)
33 False
34 >>> 36j    # 输出复数
35 36j
布尔类型

str(不可变):字符串 -> 单引号,双引号,三引号(成对出现)

 1 >>> "let's go !"
 2 "let's go !"
 3 >>> '''
 4 ... 1
 5 ... 2
 6 ... a
 7 ... b
 8 ... '''
 9 '\n1\n2\na\nb\n'
10 >>> "let's go !"
11 "let's go !"
12 >>> '''
13 ... 1
14 ... 2
15 ... a
16 ... b
17 ... '''
18 '\n1\n2\n3\na\nb\n'
19 >>> """\n1\n2\na\nb\n"""
20 '\n1\n2\na\nb\n'
21 >>> print("""\n1\n2\n3\na\nb\n""")
22 
23 1
24 2
25 3
26 a
27 b
28 
29 结束
str

format格式化函数

 1 >>> "{} {}".format("hello","world")    # 不设置指定位置,按默认顺序
 2 'hello world'
 3 >>> "{0} {1}".format("hello","world")    # 设置指定位置
 4 'hello world'
 5 >>> "{1} {0} {1}".format("hello","world")    # 设置指定位置
 6 'world hello world'
 7 >>> "网站名:{name},地址:{url}".format(name="世界与你同在",url=" http://www.worldiwiu.ltd/main ")    # 设置参数
 8 '网站名:世界与你同在,地址:http://www.worldiwiu.ltd/main '    
 9 >>> site = {"name": "世界与你同在", "url": " http://www.worldiwiu.ltd/main "}    # 通过字典设置参数
10 >>> "网站名:{name},地址:{url}".format(**site)    # 通过**可讲字典中的值分配给关键字参数
11 '网站名:世界与你同在,地址:http://www.worldiwiu.ltd/main '
12 >>> list = ['世界与你同在',' http://www.worldiwiu.ltd/main ']
13 >>> "网站名:{0[0]},地址:{0[1]}".format(list)    # 通过列表索引设置参数;“0”是必须的
14 '网站名:世界与你同在,地址:http://www.worldiwiu.ltd/main '
format格式化函数

关键字参数和默认值

像这样使用名称指定的参数称为关键字参数,只要有点是有足浴澄清各个参数的作用

 >>>store(patient=’Mr.Brainsample’,hour=10,minute=20,day=13,month=5) 

虽然这样做的输入量多些,但每个参数的作用清晰明了。另外,参数的顺序错了也没有关系,关键字参数最大的有点在于,可以指定默认值

 1 def hello_1(getting,name):
 2     print(‘{},{}!’.format(getting, name))
 3 >>>hello_1(name=’world’, getting=’Hello’)
 4 Hello,world!
 5 
 6 def hello_1(name,getting):
 7     print(‘{},{}!’.format(name, getting))
 8 >>>hello_2(getting=’Hello’, name=’world’)
 9 world,Hello!
10 
11 def hello_3(getting=‘Hello’,name=‘world’):
12     print(‘{},{}!’.format(getting, name))
13 # 参数设置默认值
14 >>>hello_3()
15 Hello,world!
16 >>>hello_3('I love', 'you ')
17 I love,you !
18 >>>hello_3(name='xing')
19 Hello,xing!
20 
21 def hello_4(name, getting='Hello', fuhao='!'):
22     print('{},{}{}'.format(getting, name, fuhao))
23 >>>hello_4('xing')
24 Hello,xing!
25 >>>hello_4('兴,今天过得好吗', getting='你好', fuhao='?')
26 你好,兴,今天过得好吗?
关键词参数和默认值

收集参数

 1 def print_params(*params):
 2     print(params)
 3 >>> print_params('Testing')
 4 ('Testing',)
 5 >>> print_params(1,2,3)
 6 (1, 2, 3)
 7 
 8 def print_params_2(title, *params):
 9     print(title, end="")
10     print(params)
11 >>>print_params_2('Params:', 1, 2, 3)
12 Params:(1, 2,3)# *:收集余下的位置参数
13 
14 def print_params_3(x, *y, z):
15     print(x, y, z)
16 >>>print_params_3(1, 2, 3, z=4)
17 1 (2, 3) 4
18 print_params_3(1, 2, 3, 4)
19 # 星号不会收集关键字参数
20 TypeError: print_params_3() missing 1 required keyword-only argument: 'z'
21 
22 # 要收集关键字参数,可使用两个星号
23 def print_params_4(**params):
24     print(params)
25 >>>print_params_4(x=1, y=2, z=3)
26 {'x': 1, 'y': 2, 'z': 3}
27 
28 def print_params_5(x, y, a, z=4, *pospar, **keypar):
29     print(x, y, z, a)
30     print(pospar)
31     print(keypar)
32 print_params_5(1, 2, 0, 3, 4, 5, 7, 6, foo=9, bar=8)
33 1 2 3 0
34 (5, 7, 6)
35 {'foo': 9, 'bar': 8}
收集参数

分配参数

1 def add(x, y):
2 return x + y
3 b=(2, 5)
4 print(add(*b))  # 显示: 7
5 # 这与前面的操作差不多是相反:不是收集参数,而是分配参数。这是通过在调用函数(而不是定义函数)时使用运算符*实现的
6 params = {'name': '兴', 'getting': '你好'}
7 hello_3(**params)     # 你好,兴!
分配参数

转义字符

转义字符

描述

\(在行尾时)

续行符

\\

反斜杠符号

\'

单引号

\"

双引号

\a

响铃

\b

退格(Backspace)

\e

转义

\000

空

\n

换行

\v

纵向制表符

\t

横向制表符

\r

回车

\f

换页

\oyy

八进制数,yy代表的字符,例如:\o12代表换行

\xyy

十六进制数,yy代表的字符,例如:\x0a代表换行

\other

其它的字符以普通格式输出

1 >>> print(r'I\nlove\nyou')    # 加r之后,将输出原始字符串
2 I\nlove\nyou
3 >>> print('I\nlove\nyou')
4 I
5 love
6 you

字符切片

 1 >>> "hello word"[-0]
 2 'h'
 3 >>> "hello word"[0]
 4 'h'
 5 >>> "hello word"[2:5]
 6 'llo'
 7 >>> "hello word"[2:-1]
 8 'llo wor'
 9 >>> "I love you"[1]
10 ' '          # 空格也将会输出
11 >>> "I love you"[2:]
12 'love you'
13 >>> "I love you"[-3:]
14 'you'
15 >>> "I love you"[:-1]
16 'I love yo'
17 >>> "I love you"[:-0]
18 ''
19 >>> "I love you"[:0]
20 ''
21 >>> ["I","love","you"][1:]
22 ['love', 'you']
23 >>> ["I","love","you"][1:2]*3
24 ['love', 'love', 'love']
25 >>> type(["I","love","you"])
26 <class 'list'>
27 >>> (("I","love","you"))[1:]
28 ('love', 'you')
29 >>> "I love yuo I love you I love you"[2:15:3]
30 'leuIo'
31 >>> "I love yuo I love you I love you"[2::3]
32 'leuIo u vy'
33 # 2 :表示索引1;    15:表示索引2;    3 :表示每隔三个输出一个字符
34 >>> "love" in ["I","love","yuo"]
35 True
36 # 表达式1  in  表达式 => 表达式1是否在表达式2中
字符切片

元组:( )    列表:[ ]    字典:{ }(无序的,没有索引,不可切片)

1 >>> type(set())    # 定义空的集合
2 <class 'set'>
3 >>> {1,2,3,4,5,6,7} - {3,4}    # 差集
4 {1, 2, 5, 6, 7}
5 >>> {1,2,3,4,5,6,7} & {3,4}    # 交集
6 {3, 4}
7 >>> {1,2,3,4,5,6,7} | {3,4}    # 并集
8 {1, 2, 3, 4, 5, 6, 7}
集合运算

位运算符

& -> 与

| -> 或

^ -> 异或

- -> 取反

<< -> 左移动

 >> -> 右移动

int str tuple (不可变)值类型 list set dict(可变)引用类型

成员资格运算符  in    not in   测试该变量是否在该元组(列表、集合)中

相同运算符  is    not is   比较变量是否是同一个对象


 list:列表

list01 = [1,2,3]

list01.append(4)

print("list01:", list01)

list02 = list01

list03 = list01.copy()

print("list02:", list02)

list02[1] = 0

print("list03:", list03)

print("list02:", list02)

print("list01:", list01)

list01.clear()

list01[2:2] = [8]

print("list03:", list03)

print("list02:", list02)

print("list01:", list01)

 

 

list01: [1, 2, 3, 4]

 

 

list02: [1, 2, 3, 4]

 

list03: [1, 2, 3, 4]

list02: [1, 0, 3, 4]

list01: [1, 0, 3, 4]

[]

 

list03: [1, 2, 3, 4]

list02: [1, 0, 8, 3, 4]

list01: [1, 0, 8, 3, 4]

append:用于将一个对象附加到列表末尾

 

=:这种复制(同一对象)

copy:复制列表(两个不同对象)

 

 

 

 

clear:清空该列表

在列表中插入一个元素

列表函数

len()

返回列表的长度

max()

返回列表中最大值

min()

返回列表中最小值

list()

用于将元组转化为列表

列表方法

append(object)

用于将一个对象附加到列表末尾

>>> list01 = [1, 2, 3]

>>> list.append(4)

>>> list01.append(4)

>>> list01

[1, 2, 3, 4]

clear()

清空列表的内容

>>> list01 = [1, 2, 3]

>>> list01.clear()

>>> list01

[]

copy()

复制列表(复制成两个不同对象)

>>> list01 = [1, 2, 3, 4]

>>> list02 = list01.copy()

>>> list02

[1, 2, 3, 4]

count(value)

计算指定的元素在列表中出现了多少次

>>> list01 = [1, 2, 3, 4, 1, 2, [3, 4], [1, 2, [3, 4]]]

>>> list01.count(3)

1

>>> list01.count([3, 4])

1

extend(list)

能够同时将多个值附加到列表末尾,为此可将这些值组成的序列作为参数提供给方法extend

>>> list01 = [1, 2, 3, 4]

>>> list02 = [5, 6, 7, 8]

>>> list01 + list02

[1, 2, 3, 4, 5, 6, 7, 8]

>>> list01

[1, 2, 3, 4]

>>> list01.extend(list02)

>>> list01

[1, 2, 3, 4, 5, 6, 7, 8]

index(value)

在列表中查找指定值第一次出现的索引

>>> list01 = ["1", "2", "3", "4"]

>>> list01.index('3')

2

insert(index,object)

用于将一个对象插入列表

>>> list01 = [1, 2, 4, 5]

>>> list01.insert(2,"three")

>>> list01

[1, 2, 'three', 4, 5]

pop([index])

从列表中删除一个元素(末尾为最后一个元素),并返回该元素

(pop是唯一既修改列表有返回一个非None值的列表方法;使用pop可实现一种常见的数据结构——栈(stack),后进先出(LIFO))

>>> list01 = [1, 2, 3, 4]

>>> list01.pop()

4

>>> list01

[1, 2, 3]

>>> list01.pop(0)

1

>>> list01

[2, 3]

remove(value)

用于删除第一个为指定值的元素

>>> list01 = [1, 2, 3, 4, 2, 4, 3, 1]

>>> list01.remove(1)

>>> list01

[2, 3, 4, 2, 4, 3, 1]

reverse()

按相反的顺序排列列表中的元素(把列表元素反过来)

>>> list01 = [1, 2, 3, 4]

>>> list01.reverse()

>>> list01

[4, 3, 2, 1]

sort()

对列表进行升序排序

 

sorted()

对列表进行升序排序,或对字符串也可以进行排序操作

 
 1 list_x = [2, 5, 6, 4, 3, 1, 8]
 2 list_y = list_x.copy()
 3 print("list_y:", list_y)          # list_y: [2, 5, 6, 4, 3, 1, 8]
 4 list_y.sort()
 5 print("list_y:", list_y)          # list_y: [1, 2, 3, 4, 5, 6, 8]
 6 print("list_y:", list_y.sort())   # list_y: None(不能直接点sort()方法)
 7 list_z = sorted(list_x)
 8 print("list_z:", list_z)          # list_z: [1, 2, 3, 4, 5, 6, 8]
 9 print(sorted('Python'))        # ['P', 'h', 'n', 'o', 't', 'y']
10 list_x = ['2', '5', '6', '4', '3', '1', '8']
11 list_y.sort(key=len, reverse=True)
12 print("list_y:", list_y)          # list_y: ['1', '2', '3', '4', '5', '6', '8']
13 list_y.sort(key=len)
14 print("list_y:", list_y)          # list_y: ['1', '2', '3', '4', '5', '6', '8']
15 list_y.sort(reverse=True)
16 print("list_y:", list_y)          # list_y: ['8', '6', '5', '4', '3', '2', '1']
sort()和sorted()

tuple:元组(不可变)

元组函数

len()

返回元组长度

max()

返回元组最大值

min()

返回元组最小值

tuple()

用于将列表转换为元组

sum()

求元组中所有元素之和

dict:字典(无序)

 格式:{key1 : value1, key2 : value2} 

key:不可变的类型

1 >>> {'Q':'新月打击','W':'苍白之瀑','E':'月之降临','R':'月神冲刺'}['Q']
2 '新月打击'

字典函数

len(dict)

计算字典元素个数

str(dict)

输出字典以可打印的字符串表示

type(variable)

返回输入的变量类型

字典方法

 >>> dict = {} # 新建空字典 

clear()

用于清除字典中的所有元素

copy()

用于复制字典

get(key,[,d])

该方法中key是字典的键值,d是键值的默认值。若存在key就返回其值,否则返回d

>>> dict.get("D","闪现")

'闪现'

>>> dict

{'Q': '新月打击', 'W': '苍白之瀑', 'E': '月之降临', 'R': '月神冲刺'}

items()

该方法使用字典中元素创建一个以(key,value)为一组的元组对象

>>> dict.items()

dict_items([('Q', '新月打击'), ('W', '苍白之瀑'), ('E', '月之降临'), ('R', '月神冲刺')])

keys()

该方法使用字典中的键值来创建一个列表对象

>>> dict.keys()

dict_keys(['Q', 'W', 'E', 'R'])

values

该方法使用字典中键值来创建一个列表对象

>>> dict.values()

dict_values(['新月打击', '苍白之瀑', '月之降临', '月神冲刺'])

popitem()

该方法用于删除字典中的随机一个元素

>>> dict.popitem()

('R', '月神冲刺')

>>> dict

{'Q': '新月打击', 'W': '苍白之瀑', 'E': '月之降临'}

setdefault(key[,d])

该方法中key是字典的键值,d是键值的默认值。若key存在,就返回其值,否则返回d

>>> dict.setdefault("D","闪现")

'闪现'

>>> dict

{'Q': '新月打击', 'W': '苍白之瀑', 'E': '月之降临', 'R': '月神冲刺', 'D': '闪现'}

update(E)

该方法中E是字典对象,由字典对象E来更新此字典

>>> print(dict.update({"D":"闪现"}))

{'Q': '新月打击', 'W': '苍白之瀑', 'E': '月之降临', 'R': '月神冲刺', 'D': '闪现'}

fromkeys()

创建一个新字典,其中包括指定的键,且没个键对应的值都是None

>>> {}.fromkeys(['Q','W','E','R'])

{'Q': None, 'W': None, 'E': None, 'R': None}

values()

返回一个由字典中的值组成的字典视图

>>> d = {}

>>> d[1] = 1

>>> d[2] = 2

>>> d[3] = 3

>>> d.values()

dict_values([1, 2, 3])

先定义一个空字典

 

向字典中添加元素

 

输出字典视图

打印字典视图


迭代器与生成器

迭代是Python最强大的功能之一,是访问集合元素的一种方式

迭代器是一个可以记住遍历的位置的对象

迭代器对象从集合的第一元素开始访问,直到所有哦的元素被访问完结束。迭代器只能往前不会后退

迭代器有两个基本的方法:iter()和next()

StopItertion异常用于标识迭代的完成,防止出现无限 循环的情况,在__next__()方法中我们可以设置在完成指定循环次数后接触发StopItertion异常来结束迭代。

生成器:

在Python中,使用了yield的函数被称为生成器(generator)

跟普通函数不同的是,生成器是一个返回迭代器的函数,只能永不迭代操作,更简单点理解生成器就是一个迭代器

在调用生成器运行的过程中,每次遇到yield时函数会暂停并保存当亲所有的运行信息,返回yield的值,并在下一次执行next()方法是从当前位置继续运行。

调用一个生成器函数,返回的是一个迭代器对象。


运算符的优先级

运算符说明

Python运算符

优先级

索引运算符

x[index]或x[index:index2[:index3]]

18、19

属性访问

x.attrbute 

17

乘方

**

16

按位取反

~

15

符号运算符

+或-

14

乘、除

*、/、//、%

13

加、减

+、-

12

位移

>>、<<

11

按位与

&

10

按位异或

^

9

按位或

|

8

比较运算符

==、!=、>、>=、<、<= 

7

is运算符

is、is not

6

in运算符

in、not in

5

逻辑非

not

4

逻辑与

and

3

逻辑或

or

2


字符串

1 >>> a = "你好, %s, 你的房间号是%d。"
2 >>> b = ('张先生',102)
3 >>> a % b
4 '你好, 张先生, 你的房间号是102。'
字符串格式化

%%

百分号标记

%c

字符及其ASCII码

%s

字符串

%d

有符号整数(十进制)

%u

无符号整数(十进制)

%o

无符号整数(八进制)

%x

无符号整数(十六进制)

%X

无符号整数(十六进制大写字符)

%e

浮点数字(科学计数法 )

%E

浮点数字(科学计数法,用E代替e)

%f

浮点数字(用小数点符号)

%g

浮点数字(根据值的大小采用%e或%f)

%G

浮点数字(类似于%g)

%p

指针(用于十六进制打印值的内存地址)

%n

存储输出字符的数量放进参数列表下一个变量中

符号

符号

说明

m.n

m是显示的最小总宽度,n是小数点后的位数

-

用于左对齐

+

在正数前面显示加号(+)

#

在八进制数面前显示‘0o’,在十六进制数前面显示'0x‘或者’0X'

0

显示的数字前面填充‘0’取代空格

字符串方法、使用说明和案例

字符串方法

使用说明

案例

capitalize()

用于将字符串的第一个字母变成大写,其他字母变成小写

>>> str = "i Love you"

>>> str.capitalize()

'I love you'

count(String,start,end)

用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置

>>> s = 'o'

>>> str.count(s)

2

>>> str.count(s,0,5)

0

>>> str.count(s,0,12)

1

find(String,start,end)

用于检测字符串中是否含子字符串。若含有子字符串,则返回开始的索引值;,否则返回 -1

还可以指定位置去查找子串

>>> str = "Python程序设计案例教程"

>>> s = "程序"

>>> str.find(s, 0, len(str))

6

index(String,start,end)

用于检测字符串中是否含子字符串。若含有,则返回开始索引值;否则会报一个异常

>>> str = "Python程序设计案例教程"

>>> s = "程序"

>>> str.index(s, 0, len(str))

6

>>> str.index(s, 7, len(str))

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: substring not found

isalnum()

用于检测字符串是否由汉字、字母和数字组成

>>> str = "Python程序设计案例教程"

>>> str.isalnum()

True

>>> str = "Python 程序设计案例教程"

>>> str.isalnum()

False   # 该字符串有空格

join(sequence)

将序列中的元素用指定的字符连接生成一个新的字符串

>>> str = ("Python","程序","设计","案例","教程")

>>> s = "*"

>>> s.join(str)

'Python*程序*设计*案例*教程'

split()

作用与join方法 相反

>>> str = "I love you !"

>>> str.split(" ")

['I', 'love', 'you', '!']

isalpha()

用于检测字符串是否 只有字母和汉字组成

>>> str = "Python程序设计案例教程"

>>> str.isalpha()

True

>>> str = "Python 程序设计案例教程"

>>> str.isalpha()

False    # 该字符串有空格

isdigit()

用于检测字符串是否只由数字组成

>>> str = "Python程序设计案例教程"

>>> str.isdigit()

False

>>> str = "1314520"

>>> str.isdigit()

True

lower()

将字符全部转化为小写

>>> str = "i Love you"

>>> str.lower()

'i love you'

swapcase()

讲字符串大小写互换

>>> str = "I Love You !"

>>> str.swapcase()

'i lOVE yOU !'

upper()

将字符全部转化为大写

>>> str = "i Love you !"

>>> str.upper()

'I LOVE YOU !'

min()

字符串最小值

>>> str = "I love you !"

>>> min(str)

' '

max()

字符串最大值

>>> str = "I love you !"

>>> max(str)

'y'

len()

计数字符串个数

>>> str = "I love you !"

>>> len(str)

12

title()

“标题化”该字符串

>>> str = "I love you !"

>>> str.title()

'I Love You !'

replace(old,new[,max])

用于把字符串中的旧字符串替换成新的字符串

max: 表示替换不超过max次

>>> str = "I do not love you !"

>>> str.replace(" do not "," ")

'I love you !'

translate()

用法和replace方法相同,但不同的的是它只能替换一个字符

>>> str = "I love you !"

>>> str.translate(str.maketrans('LY','ly'))

'I love you !'

center()

通过在两边添加填充字符(默认为空格)让字符串居中

>>> str = "I love you !"

>>> s = "*"

>>> str.center(20,s)

'****I love you !****'

strip()

去除字符串开头和末尾的空格

>>> str = "    I love you !    "

>>> str.strip()

'I love you !'

导包

导包

说明

from math import *

sqrt(9)

第一种导包

后面用起来更简洁

from math import sqrt,pow,floor

第二种导包(可同时导入多个包)

import math

math.sqrt(9)

第三种导包

import math as shuxue

shuxue.sqrt(9)

导包同时可以用(as)重命名

from math as shuxue import *

没有这种,会报错

from math import pow as pf

pf(2,3)

pow(2,3)

导入特定的函数并给它指定别名

赋值

赋值

说明

序列解包

>>> x,y,z = 1,2,3

>>> print(x,y,z)

1 2 3

一起赋多个值

>>> x,y,z = 1,2,3

>>> x,y = y,x

>>> print(x,y,z)

2 1 3

两个变量值简易交换

>>> a,b,*rest = [1, 2, 3, 4]

>>> rest

>>> a

>>> b

>>> c,d = rest

>>> c

>>> d

 

[3, 4]

1

2

 

3

4

星号运算符(*)来收集多余的值,这样无需确保值和变量的个数相同

链式赋值

>>> a = b = [1, 2]

>>> a == b

True

>>> a is b

True

同等效果
(同一对象)

>>> a = [1, 2]

>>> a = b

>>> a == b

True

>>> a is b

True

>>> a = [1, 2]

>>> b = [1, 2]

>>> a == b

True

>>> a is b

False

这样不是同一对象

 常见语句

语句

说明

pass

空语句,主要为了保持结构的完整性。pass不做任何事情,一般用做占位语句

continue

跳出本次循环,执行下一次循环

break

终止循环

常用方法

函数

说明

案例

range

tart:计数从start开始。默认是从0开始。例如:range(5)等价于range(0,5)

stop:计数到stop结束,但不包括stop。例如:range(0, 5)是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0,5)等价于range(0,5,1)

print("乘法口诀表:")

for x in range(1, 10):

    for y in range(1, x+1):

        print(y, "*", x, "=", x*y, end="\t\t")

    print()

len

方法返回对象(字符、列表、元组等)长度或项目个数。

 

complex(real[,imag])

创建一个复数,其值为real + imag * j

 

dir([object])

返回object对象的属性名称列表。若没有指定参数object,则会返回现有的区域符号表(Loaal Symbol Table)

 

divmod(a,b)

将a除以b的商与余数以元组类型返回,若a、b是整数或是长整数,返回值为(a/b,a%b),

>>> divmod(5,3)

(1, 2)

exal(expression[,globals[,locals]])

运行expression表达式。global定义全局命名空间(global namespace),locals定义局部命名空间(locals namespace)。若没有locals参数,则使用globals定义值。若没有globals与locals参数,则使用单元本身的命名空间

 

exec string [in globals[,locals]]

运行包含Python程序代码的字符串string,globals与locals分别定义全局命名空间与局部命名空间

 

id(object)

返回object对象的唯一识别码,此识别码为一整数

>>> t = 9

>>> id(t)

1639045424

int(x[, radix])

x为数值/字符串,若是字符串,可以设置radix值。radix是进制的基底值,可以是[2,36]之间的整数或0.若radix是0,则Python会根据字符串值进行判断。radix是用来说明x是几进制数

>>> int(100.5)

100

>>> int("100",8)

64

>>> int("100",16)

256

>>> int("100",0)

100

max(s[,args...])

若只有一个参数,返回序数对象s中元素的最大值。如果有多个参数,返回最大的序数

>>> max(1,2,3,5,9)

9

>>> max("I love you !")

'y'

>>>max((1,2,3),(2,3),(1,2,4))

(2, 3)

min(s[,args...])

若只有一个参数,返回序数对象s中元素的最小值。若有多个参数,返回最小的序数

>>> min(1,2,3,5,9)

1

>>> min("I love you !")

' '

>>>min((1,2,3),(2,3),(1,2,4))

(1, 2, 3)

ord(c)

返回单字符字符串c的ASCII或Unicode字符。若c是ASCII字符,ord()函数与chr()函数作用相反;若c是Unicode字符,ord()函数与unichr()函数作用相反

>>> ord("♥")

9829

>>> chr(9829)

'♥'

pow(x, y[, z])

若没有参数z返回xy,如果有z,则返回xy % z,y不能是负数

>>> pow(2,4)

16

>>> pow(2,4,5)

1

>>> pow(2,-1)

0.5

tuple(sequence)

使用sequence来创建一个元组对象。若sequence本身就是一个元组,其值不变

>>> tuple("love")

('l', 'o', 'v', 'e')

>>> tuple(['l', 'o', 'v', 'e'])

('l', 'o', 'v', 'e')

用户自定义函数

1 # def 自定义函数名(形参1,形参2,…):
2 #      函数体
3 # (return 返回值)
4 # 参数:1.必须参数2.关键字参数3.默认参数
1 # 自定义函数
2 def add(x, y):
3      result = x+y
4     return result
5 
6 z1 = add(3, 5)                # 必须参数传值
7 z2 = add(y=5, x=3)        # 关键字参数传值
8 print("z1 = ", z1, ",z2 = ", z2)       # z1 =  8 ,z2 =  8
案例

__init__.py 文件的使用

 1 import src.com.wx.ACM
 2 # 欢迎来到IT决战空间,请展示您的代码效果了!
 3 # src.com.wx.ACM_file.__init__.py
 4 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 5 
 6 import src.com.wx.PracticeTraining
 7 # 欢迎来到IT决战空间,请展示您的代码效果了!
 8 # src.com.wx.PracticeTraining_file.__init__.py
 9 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
10 
11 import init
12 # 欢迎来到IT决战空间,请展示您的代码效果了!
13 # src.com.wx.PracticeTraining.init_file.__init__.py
14 # ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
案例

Python日期和时间

python中时间日期格式化符号

%y

两位数的年份表示(00-99)

%Y

四位数的年份表示(000-9999)

%m

月份(01-12)

%d

月内中的一天(0-31)

%H

24小时制小时数(0-23)

%I

12小时制小时数(01-12)

%M

分钟数(00=59)

%S

秒(00-59)

%a

本地简化星期名称

%A

本地完整星期名称

%b

本地简化的月份名称

%B

本地完整的月份名称

%c

本地相应的日期表示和时间表示

%j

年内的一天(001-366)

%p

本地A.M.或P.M.的等价符

%U

一年中的星期数(00-53)星期天为星期的开始

%w

星期(0-6),星期天为星期的开始

%W

一年中的星期数(00-53)星期一为星期的开始

%x

本地相应的日期表示

%X

本地相应的时间表示

%Z

当前时区的名称

%%

%号本身

 

 1 import time
 2 import calendar
 3 def Calendar():
 4     year = int(time.strftime("%Y", time.localtime()))
 5     month = int(time.strftime("%m", time.localtime()))
 6     cal = calendar.month(year, month)
 7     print(cal)
 8 Calendar()
 9 #      July 2019
10 # Mo Tu We Th Fr Sa Su
11 #  1   2   3   4   5  6   7
12 #  8   9  10 11 12 13 14
13 # 15 16 17 18 19 20 21
14 # 22 23 24 25 26 27 28
15 # 29 30 31
16 
17 print('北京时间:')
18 print(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime()))  # 获取当前日期时间
19 # 北京时间:
20 # 2019-07-08 20:17:42
案例

 

如有错误或不足,请留言,谢谢!

本文链接:https://www.cnblogs.com/AI-Star-Java/p/11718743.html 

谢谢查看!关注一下!精彩不断!

阅读(2442) 评论(0)