Pytho笔记

Python中每个元素都是变量

变量命名规则

  1. 变量名必须以字母或下划线字符开头
  2. 变量名不能以数字开头
  3. 变量名称只能包含字母数字字符和下划线
  4. 变量名区分大小写

注释

        什么是注释,注释相当于备注的信息,也可以在调试代码的时候隐藏执行代码

        注释的方法有行注释块注释

行注释

行注释以 # 开头:

块注释

块注释可以用多个 # 、 三单引号三双引号

基本数据:

  •         整数常量:没有byte short long 之分 一律默认int
  •         小数常量:没有float与double之分 默认float
  •         字符串常量:字符串表示一段文本信息,程序会将文本信息原封不动的处理
  •            Python没有字符的数据,一律当成字符串处理,双引号和单引号都可以表示字符串
  •         布尔值常量:Ture表示1 False表示0
  •         复数常量:ai + bj

内置函数名/类名:内置函数就是Python自带的一些具有特殊功能的函数

                           使用内置函数时,不能更改其名称。

变量:

在Python当中 变量其实就是一个万能箱子 他可以存储任何数据

本质:变量它只存储数据在内存中的地址(引用类型变量)

数据转换:

  • int():取整   从字符串中解析整数
  • float():将其他的数据转为小数
  • str():将其他数据转字符串
  • bool():将型其他数据转布尔类

进制转换:

  • bin():二进制转换符
  • oct():八进制转换符
  • hex():十六进制转换符

字符与ASCII码转换:

  • ord():获取字符对应的ASCII码编号
  • chr():根据给定的ASCII码编号获取对应的字符
  • PS:a~z A~Z 0~9 他们在ASCII中的编号都是连续的
  •         a为97   A为65   0为48

数学函数:

[abs(x)]    返回数字的绝对值,如abs(-10) 返回 10
[ceil(x)]    返回数字的上入整数,如math.ceil(4.1) 返回 5
[cmp(x, y)]    如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1
[exp(x)]    返回e的x次幂(ex),如math.exp(1) 返回2.718281828459045
[fabs(x)]    返回数字的绝对值,如math.fabs(-10) 返回10.0
[floor(x)]    返回数字的下舍整数,如math.floor(4.9)返回 4
[log(x)]    如math.log(math.e)返回1.0,math.log(100,10)返回2.0
[log10(x)]    返回以10为基数的x的对数,如math.log10(100)返回 2.0
[max(x1, x2,…)]    返回给定参数的最大值,参数可以为序列。
[min(x1, x2,…)]    返回给定参数的最小值,参数可以为序列。
[modf(x)]    返回x的整数部分与小数部分,两部分的数值符号与x相同,整数部分以浮点型表示。
[pow(x, y)]    x**y 运算后的值。
[round(x [,n])]    返回浮点数x的四舍五入值,如给出n值,则代表舍入到小数点后的位数。
[sqrt(x)](    返回数字x的平方根

随机数函数:

随机数可以用于数学,游戏,安全等领域中,还经常被嵌入到算法中,用以提高算法效率,并提高程序的安全性。

Python包含以下常用随机数函数:

[choice(seq)]从序列的元素中随机挑选一个元素,比如random.choice(range(10)),从0到9中随机挑选一个整数。
[randrange ([start,] stop [,step])]从指定范围内,按指定基数递增的集合中获取一个随机数,基数默认值为 1
[random()]随机生成下一个实数,它在[0,1)范围内。
[seed([x])]改变随机数生成器的种子seed。如果你不了解其原理,你不必特别去设定seed,Python会帮你选择seed。
[shuffle(lst)]将序列的所有元素随机排序
[uniform(x, y)]随机生成下一个实数,它在[x,y]范围内。

三角函数:Python包括以下三角函数:

[acos(x)]    返回x的反余弦弧度值。
[asin(x)]    返回x的反正弦弧度值。
[atan(x)]    返回x的反正切弧度值。
[atan2(y, x)]    返回给定的 X 及 Y 坐标值的反正切值。
[cos(x)]    返回x的弧度的余弦值。
[hypot(x, y)]    返回欧几里德范数 sqrt(xx + yy)。
[sin(x)]    返回的x弧度的正弦值。
[tan(x)]    返回x弧度的正切值。
[degrees(x)]    将弧度转换为角度,如degrees(math.pi/2) , 返回90.0
[radians(x)]    将角度转换为弧度

pi数学常量 pi(圆周率,一般以π来表示)
e数学常量 e,e即自然常数(自然常数)

字符串格式化: 

Python 支持格式化字符串的输出 。尽管这样可能会用到非常复杂的表达式,但最基本的用法是将一个值插入到一个有字符串格式符 %s 的字符串中。

 python字符串格式化符号:

%c    格式化字符及其ASCII码
%s    格式化字符串
%d    格式化整数
%u    格式化无符号整型
%o    格式化无符号八进制数
%x    格式化无符号十六进制数
%X    格式化无符号十六进制数(大写)
%f    格式化浮点数字,可指定小数点后的精度
%e    用科学计数法格式化浮点数
%E    作用同%e,用科学计数法格式化浮点数
%g    %f和%e的简写
%G    %f 和 %E 的简写
%p    用十六进制数格式化变量的地址

输入与输出:

  • print():可以输出数字,字符串    print("Hello World")     print(1 + 2 + 3)
  • 多数据输出,用空格分隔     print(1, 2, 3, "Hello World!")
  • sep输出间隔      print(1, 2, 3, sep = "#")
  • end输默认"\n"    print(1, 2, 3, end = "!!!")
  • %s 对应字符串 %d 对应整数 %f 对应小数     print("它叫%s,今年%d岁,身高%.2f米" % (name, age, height))

 运算符:

算术运算符: 加法:数值相加,序列拼接   

减法:数值相减

乘法:数值相乘,序列增倍 

除法:小数除 /,整数除 //

幂运算:2 ** 3 ===> 二的三次幂

取余:10 / 3 = 3 ~ 1

布尔判断运算符:( 运算结果一律为布尔值 ):>   <   >=   <=   !=    ==

增强型赋值运算符:(在Python中 是不存在 ++ --这种自增运算符的!)+=    -=    *= 

  /=    //=    **=    %=

逻辑运算符:与 或 非 =  and or  not  (&& || !) 与:全真则真  有假则假   

或:有真则真 全假则假   

非:取反

位运算符:按位与  按位或 右移  左移   取反   异或

成员运算符:in 和 not in

从属/身份运算符:is 和 not is(比地址)

PS:i++流程

1. 开辟临时存储区

2. 将i的值复制到临时存储区内

3. i自身+1

4. 临时存储区的值等待被调用(输出 赋值 参与运算)

(Java中)

导入包(库)

  • 在 python 用 import 或者 from…import 来导入相应的模块。
  • 将整个模块(somemodule)导入,格式为: import somemodule
  • 从某个模块中导入某个函数,格式为: from somemodule import somefunction
  • 从某个模块中导入多个函数,格式为: from somemodule import firstfunc, secondfunc, thirdfunc
  • 将某个模块中的全部函数导入,格式为: from somemodule import *
  • 将某个模块改名(改为s),格式为:import somemodule as s

条件判断:

# 单if语句

if 条件语句:

        条件为真时执行的内容

# if-else语句 if 条件语句:

        条件为真时执行的内容

else:

        条件为假时执行的内容

# if-elif语句 else if

if 条件语句1:

        条件语句1为真时执行的内容

elif 条件语句2:

        条件语句2为真时执行的内容

elif .... else:

        所有条件都不满足时执行的内容

# 语句嵌套 if 条件1:

if 条件2:

        执行内容(1和2都满足)

else:

        执行内容(满足1不满足2)

else:

        执行内容(1和2都不满足)

 PS:   由于 python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

        当if有多个条件时可使用括号来区分判断的先后顺序,括号中的判断优先执行,此外 and 和 or 的优先级低于>(大于)、<(小于)等判断符号,即大于和小于在没有括号的情况下会比与或要优先判断。
 

循环语句:

循环四要素:

  • 循环的开始(从第1步开始;从第1步开始/从起点开始)
  • 循环的继续条件(还没走到第10步;没有碰到墙/就是看距离)
  • 循环体(走的每一步;走的每一步)
  • 循环的步长/间隔/周期/进度(步数的统计;距离的统计

for i in range(11):

         print(i)

range(n) : 取值范围是[0,n) 步长默认为1

range(a, b):取值范围[a, b) 步长默认1

range(a, b, c):取值范围[a, b) 步长默认2

range(a,b,c) 如果c > 0, a < b 才是有效范围 递增

如果c < 0, a > b 才是有效范围 递减

# 特殊的 结合序列去使用 遍历序列中每一个元素

for i in "abcdefg":

        print(i)

数组列表:

序列:存储一堆数据的集合/容器

列表、字符串、元组、集合、字典

取值和取索引
>取值

print(name_list[2])
 
xzx
>取索引(若传递的数据不再列表中会报错)

print(name_list.index("wangwu"))
 
2
>修改
name_list[1] = "李四"
 
name_list = ["zhangsan","李四","wangwu"]
>列表指定的索引超出范围,程序会报错。

>增加
>append 方法可以向列表的末尾追加数据

name_list.append("王小二")
 
name_list = ["zhangsan","李四","老八","王小二"]
>insert 方法可以在列表的指定索引位置插入数据

name_list.insert(1,"老八")
 
name_list = ["zhangsan","老八","李四","wangwu","王小二"]
>extend 方法可以把其他列表中的完整内容追加到当前列表的末尾

temp_list = ["孙悟空","猪八戒","沙和尚"]
name_list.extend(temp_list)
 
name_list = ["zhangsan","李四","wangwu","王小二","孙悟空","猪八戒","沙和尚"]
> 删除
>remove 方法可以从列表中删除指定的数据;从列表中删除第一个出现的指定的数据

name_list.remove("wangwu")
print(name_list)
 
['zhangsan', '老八', '李四', '王小二', '刀哥9', '猪八戒', '沙和尚']
>pop方法默认可以把列表中最后一个元素删除

name_list.pop()
print(name_list)
 
['zhangsan', '小美眉', '李四', '王小二', '孙悟空', '猪八戒']
> clear方法可以清空列表

name_list.clear()
print(name_list)
 
[]
>使用del关键字删除列表元素

del 关键字本质上是用来将一个变量从内存中删除的。如果使用del关键字将变量从内存中删除,后序的代码就不能再使用这个变量了。

统计数据
> len 函数可以统计列表中元素的总数

name_list = ["张三","李四","王五","王小二","张三"]
 
list_len = len(name_list)
print("列表中包含 %d 个元素" % list_len)
 
列表中包含 5 个元素
> count 方法可以统计列表中某个数据出现的次数

count = name_list.count("张三")
print("张三出现了 %d 次" % count)
 
张三出现了 2 次
 列表的排序和反转
>升序

name_list = ["zhangsan","lisi","wangwu","wangxiaoer"]
num_list = [6, 8, 4, 1, 10]
 
# 升序
name_list.sort()
num_list.sort()
 
['lisi', 'wangwu', 'wangxiaoer', 'zhangsan']
[1, 4, 6, 8, 10]
 
>降序

name_list.sort(reverse=True)
num_list.sort(reverse=True)
 
 
['zhangsan', 'wangxiaoer', 'wangwu', 'lisi']
[10, 8, 6, 4, 1]
>逆序(反转)

name_list.reverse()
num_list.reverse()
 
 
['wangxiaoer', 'wangwu', 'lisi', 'zhangsan']
[10, 1, 4, 8, 6]
 

>切片

就是获取序列中某一个连续子区间

 序列名[a : b : c] 跟 range(a, b, c) 基本类似

>>> arr[2:] # 从角标2开始向尾遍历 步长为1 [3, 4, 5, 6, 7, 8, 9]

>>> arr[2::2] # 从角标2开始向尾遍历 步长为2 [3, 5, 7, 9]

>>> arr[:6] # 从头开始到角标6(不取) 步长为1 [1, 2, 3, 4, 5, 6]

>>> arr[:6:3] # 从头开始到角标6(不取) 步长为3 [1, 4]

>>> arr[:] # 从头到尾 [1, 2, 3, 4, 5, 6, 7, 8, 9]

>>> arr[::] [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> arr[::2] [1, 3, 5, 7, 9] =======================================特殊的

>>> arr[-1:-7] # 从尾到头 步长必须负数 []

>>> arr[-1:-7:-1] [9, 8, 7, 6, 5, 4]

>>> arr[-9:7] # 从头到尾 步长为正数 [1, 2, 3, 4, 5, 6, 7]

>>> arr[0:7] [1, 2, 3, 4, 5, 6, 7]

>>> arr[-9:-2] # 从头到尾 步长为正数 [1, 2, 3, 4, 5, 6, 7]

成员资格

>>> 1 in arr True

>>> 10 in arr False

长度与最值

>>> len(arr) # 获取序列的长度 9

>>> len(arr) 9

>>> max(arr) 9

>>> min(arr) 1

>>> s = "ABC"

>>> len(s) 3

>>> max(s) 'C'

>>> min(s) 'A'

  • 17
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值