在Python中使用 ‘#’ 此符号进行单行注释
在Python中将包含在一对三引号(’’’……’’’)或者("""……""")之间,并且不属于任何语句的内容认为是多注释。
– 扩展随机数函数: randint(), getrandbits(), uniform(), randrange(),
采用大括号{}和dict()创建,键值对用冒号: 表示
{<键1>:<值1>, <键2>:<值2>, … , <键n>:<值n>}
(1)索引:返回字符串中单个字符 <字符串>[M]
(2)切片:返回字符串中一段字符子串 <字符串>[M: N]
(3)<字符串>[M: N: K],根据步长K对字符串切片
字符串format()方法的基本使用格式是:
<模板字符串>.format(<逗号分隔的参数>)
def <函数名>(<参数列表>):
<函数体>
return <返回值列表> (可以传递0个返回值,也可以传递任意多个返回值)
(1)调用程序在调用处暂停执行;
(2)在调用时将实参复制给函数的形参;
(3)执行函数体语句;
(4)函数调用结束给出返回值,程序回到调用前的暂停处继续执行。
(1) 在def语句中,位于函数名后面的变量通常称为形参。
(2) 调用函数时提供的值称为实参。
(1)全局变量:指在函数之外定义的变量,一般没有缩进,在程序执行全过程有效。
(2)局部变量:指在函数内部使用的变量,仅在函数内部有效,当函数退出时变量将不存在。
(3)转化:通过global保留字在函数内部声明全局变量;局部变量为组合数据类型且未创建新变量,等同于全局变量
>>> f = lambda x, y : x + y
>>> f(10, 15)
25
>>> f = lambda : "lambda函数"
>>> print(f())
lambda函数
(1)内置模块:如sys, os, subprocess, time, json 等等。
(2)自定义模块:自定义模块时要注意命名,不能和Python自带模块名称冲突。
(3)开源模块:公开的第三方模块, 如 https://pypi.org,可以使用pip install 安装,类似于yum 安装软件。
>>> help('modules') 查看python所有的modules
(1)使用 import语句,导入整个模块。
import module1, module2… # 建议一个import语句只导入一个模块。
import module as module_alias # 别名(也就是自定义的模块名称空间)
(2)from-import 语句 , 常用于只导入指定模块的部分属性或模糊导入。
from module import name1,name2…
>>> from pack1.pack2 import
>>> from random import choice,random,seed
>>> sys.path.append('D:\\python')
函数/变量 | 描述 |
---|---|
environ | 包含环境变量的映射 |
System(command) | 在子shell中执行操作系统命令 |
sep | 路径中使用分隔符 |
pathsep | 分割不同路径的分隔符 |
linesep | 行分隔符 |
urandom(n) | 返回n字节强加密随机数据 |
函数/变量 | 描述 |
---|---|
argv | 命令行参数,包括脚本名 |
exit([arg]) | 退出当前程序,可指定返回值或错误消息 |
modules | 一个字典,将模块名映射到加载的模块 |
path | 一个列表,包含要在其中查找模块的目录名称 |
platform | 一个平台标识符,如win32 |
stdin | 标准输入流—一个类似与文件的对象 |
stdout | 标准输出流 |
sdterr | 标准错误流 |
fileinput:文件处理
sets、heapq和deque:集合,堆,双端栈
time、datetime:时间处理
random:随机数
shelve:用于创建永久性映射
re:正则表达式
csv:处理csv文件
enum:枚举类型
logging:日志处理
(1)NameError:尝试访问一个未声明的变量
(2)ZeroDivisionError:除数为零
(3)SyntaxError:Python 解释器语法错误
(4)IndexError:请求的索引超出序列范围
(5)KeyError:请求一个不存在的字典关键字
(6)AttributeError:尝试访问未知的对象属性
(1)try-except语句
(2)多个except 语句
(3)try …except…else 语句,当没有异常发生时,else中的语句将会被执行。
(4)try …except…finally 语句,无论异常是否发生,在程序结束前,finally中的语句都会被执行。
(5)try …except…else…finally 语句
例如:输入:500000
输出:50万 500K
先用input函数输出一个超过5位数的整数,再分别计算出结果,最后用print输出带单位的数
a = int(input("输入一个超过5位的整数:")) # 转化成整数型
b = int( a / 10000 ) # 转换成整数型
c = int( a / 1000 ) # 转换成整数型
print("输出:" + str(b) + "万" + " " + str(c) + "K") # 转换成字符串+文字
def l(x):
x = x * 2
return x
a = 4
b = l(a)
print(a,b)
>>> 4 8
通过def定义一个函数,x=x*2是函数的算法,定义a=4,通过b调用函数求出a,b值为4,8。
def l():
global x
x = 4
return x
x = 5
l()
print(x)
>>> x = 4
####### 解析:
通过def定义一个函数,将其变量x变为全局变量,定义一个新的x的值,输出结果还是原来的值。
a = {
1,2,3}
b = {
2,3,4}
print(sorted(a^b))
>>>[1,4]
a^b是两个集合中不相同的元素放到一起,sorted将结果转化成一个列表。
a = {
2, 4, 6}
b = {
1, 2, 4, 6, 8}
a.update(b)
print( len(a) )
>>> 5
a和b都是集合,a.update(b)是将b中元素添加到a,而集合会把重复的元素删除,len(a)是数a集合中有多少元素,所以输出结果为5。
a = {
8, 2, 3, 4}
a.remove(3)
print(sum(a))
>>> 14
a为集合,remove是间集合a的指定元素删除,sum是计算集合a的所有元素相加的和,所以输出结果为14
a = {
1: 11, 2: 22, 3: 33}
b = a.get(2)
print(b)
>>> 22
a是字典,get是返回字典中对应的值,所以输出结果为22。
a = [1,2,3,4]
a.reverse()
print(a)
>>> [4,3,2,1]
a为一个列表,reversë将其里面的元素顺序颠倒。
print("三个月内的所有星期一为:")
for date in range(20170101,20170131,7):
print(str(date))
for date in range(20170205,20170228,7):
print(str(date))
for date in range(20170305,20170331,7):
print(str(date))
>>>20170101
20170108
20170115
20170122
20170129
20170205
20170212
20170219
20170226
20170305
20170312
20170319
20170326
通过for循环日期,range(起始点,终止点,步长),以一周七天为一个步长,循环出的结果即为每个星期一。
s = 'abcABCabc'
a = s.lower()
print(a)
b = s.split(',')
print(b)
c = s.count('a')
print(c)
d = s.replace('a','d')
>>>abcabcabc
['abcABCabc']
2
dbcABCdbc
slower即将该字符串所有字母都小写,split将其形成一个列表,count即统计字母a出现的次数,replace(a,d)即用d代替a。
i = 1
while i<=9:
j = 1
while j<=i:
print(f"{i}*{j}={i*j}", end=' ')
j += 1
print()
i += 1
>>>1*1=1
2*1=2 2*2=4
3*1=3 3*2=6 3*3=9
4*1=4 4*2=8 4*3=12 4*4=16
5*1=5 5*2=10 5*3=15 5*4=20 5*5=25
6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36
7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49
8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64
9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81
通过两个while判断i,j的值,每次循环后 i+1,j+1。
with open('1写入ANSI.txt', mode='w') as fp:
fp.write('181234567890 邢无涯\n')
with open('1写入ANSI.txt', mode='r') as fp:
print(fp.name)
print(fp.read())
用 w 模式在当前目录中建立新文件 ‘1写入ANSI.txt’,写入字符串,再次 r 模式打开文件,读取内容,打印输出文件名,打印输出文件内容。
1 2 3
4 5 6
7 8 9
for i in range(1,10):
print(i, end=' ')
if i%3==0 :
print('\n', end='')
for循环1到10的数,输出i与空格,当循环指标能够被3整除时,输出一个换行符号\n。
s = '我是{}学院,{}专业,学号是{}'.format('shuli','dashuju','12345678')
>>>'我是shuli学院,dashuju专业,学号是12345678'
format前面{}顺序与()顺序一一对应。
for i in range(1,10):
if i%2 == 0:
continue
print(i,end=' ')
>>>1 3 5 7 9
###
循环遍历10以内的数,若能被2整除则跳出,进行下一次循环。
###第一次写,大家点个赞鼓励鼓励 = =