python_变量

人生苦短,我用python _吉多(Guido van Rossum)
python是一门解释性语言 计算机语言分为编译型语言和解释型语言,编译型语言比解释型语言执行速度快 解释型语言比编译型语言跨平台性好 特点是面向对象 优雅,明确,简单


执行python程序的三种方式
1解释器 python/python3
2,交互式运行python程序(shell)
3ipython


python IDE(集成开发环境) pycharm
算数运算符 + - * / //(取整) %(取余) **(幂)
逻辑运算符 and or not
赋值运算符 = += -= *= /= //= %= **//
成员运算符 in notin
转义字符 \t 制表符 \n 换行 \r 回车
程序流程
顺序 
分支(if)
循环(for,while)


break和continue 循环过程中的关键字 break某一条件满足时,退出循环不再执行后续重复的代码 continue 某一条件满足时,不执行后续重复的代码


函数
def func():
    xxx
func()


数据类型
数字型 int float bool complex(复数)
非数字型 str list tuple dict




列表常用操作 list
1 增加
list.append(a) 末尾追加a
list.extend(list) 将参数列表的数据追加到列表
list.insert(index,a) 在指定位置插入数据


2 修改
list(index)= 数据  赋值


3删除
list.remove(a) 删除第一个出现的数据
list.pop(index) 返回值是删除的值 不指定删除最后一个
list.clear() 清空列表
del list(index)


4 统计
list.count(a) 计算a出现的次数
list.lenth() 列表长度


5 排序
list.sort() 升序
list.sort(reverse=True) 降序
list.reverse() 逆序 反序


元组
tuple.count()  计数
tuple.index()  取索引


字典
dict.clear()
dict.items() (key,val)....
dict.get()
dict.pop()
dict.keys()
dict.values()
dict.has_key() True/False
dict.update()




字符串操作
判断 
string.isspace()  如果 string 中只包含空格,则返回 True
string.isalnum() 如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True
string.isalpha() 如果 string 至少有一个字符并且所有字符都是字母则返回 True
string.isdecimal() 如果 string 只包含数字则返回 True,全角数字
string.isdigit() 如果 string 只包含数字则返回 True,全角数字、⑴、\u00b2
string.isnumeric() 如果 string 只包含数字则返回 True,全角数字,汉字数字
string.istitle() 如果 string 是标题化的(每个单词的首字母大写)则返回 True
string.islower() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True
string.isupper() 如果 string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True


2 查找 替换
string.startswith(str) 检查字符串是否是以 str 开头,是则返回 True
string.endswith(str) 检查字符串是否是以 str 结束,是则返回 True
string.find(str, start=0, end=len(string)) 检测 str 是否包含在 string 中,如果 start 和 end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回 -1
string.rfind(str, start=0, end=len(string)) 类似于 find(),不过是从右边开始查找
string.index(str, start=0, end=len(string)) 跟 find() 方法类似,不过如果 str 不在 string 会报错
string.rindex(str, start=0, end=len(string)) 类似于 index(),不过是从右边开始
string.replace(old_str, new_str, num=string.count(old)) 把 string 中的 old_str 替换成 new_str,如果 num 指定,则替换不超过 num 次




3 大小写转化
string.capitalize() 把字符串的第一个字符大写
string.title() 把字符串的每个单词首字母大写
string.lower() 转换 string 中所有大写字符为小写
string.upper() 转换 string 中的小写字母为大写
string.swapcase() 翻转 string 中的大小写


4 文本对齐
string.ljust(width) 返回一个原字符串左对齐,并使用空格填充至长度 width 的新字符串
string.rjust(width) 返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串
string.center(width) 返回一个原字符串居中,并使用空格填充至长度 width 的新字符串


5 去除空白字符
string.lstrip() 截掉 string 左边(开始)的空白字符
string.rstrip() 截掉 string 右边(末尾)的空白字符
string.strip() 截掉 string 左右两边的空白字符


6 拆分 和连接
string.partition(str) 把字符串 string 分成一个 3 元素的元组 (str前面, str, str后面)
string.rpartition(str) 类似于 partition() 方法,不过是从右边开始查找
string.split(str="", num) 以 str 为分隔符拆分 string,如果 num 有指定值,则仅分隔 num + 1 个子字符串,str 默认包含 '\r', '\t', '\n' 和空格
string.splitlines() 按照行('\r', '\n', '\r\n')分隔,返回一个包含各行作为元素的列表
string.join(seq) 以 string 作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串


字符串截取 (包头不包尾)
num_str= "0123456789"
num_str[2:6] 截取从 2 ~ 5 位置 的字符串
num_str[2:] 截取从 2 ~ `末尾` 的字符串
num_str[:6]  截取从 `开始` ~ 5 位置
num_str[::2]  从开始位置,每隔一个字符截取字符串
num_str[-1]   截取最后一个字符串
print(num_str[-2:]) 截取字符串末尾两个字符
print(num_str[::-1]) 逆序




完整的for循环 用于字典元素查找
for 变量 in 集合:
    
    循环体代码
else:
    没有通过 break 退出循环,循环结束后,会执行的代码


变量进阶
变量 和 数据 都是保存在 内存 中的
在Python中函数的参数传递 以及返回值都是靠引用传递的


变量的类型 可变和不可变类型
不可变类型,内存中的数据不允许被修改 
数字类型 int, bool, float, complex, long(2.x)
字符串 str
元组 tuple
可变类型
列表 list
字典 dict
可变类型的数据变化,是通过方法来实现的
如果给一个可变类型的变量,赋值了一个新的数据,引用会修改


hash 值 hash()是一种 算法,其作用就是提取数据的 特征码(指纹)
局部变量 是在 函数内部 定义的变量,只能在函数内部使用
全局变量 是在 函数外部定义 的变量(没有定义在某一个函数内),所有函数 内部 都可以使用这个变量 如果在函数中需要修改全局变量,需要使用 global 进行声明


函数进阶
函数根据 有没有参数 以及 有没有返回值,可以 相互组合
只要 针对参数 使用 赋值语句,会在 函数内部 修改 局部变量的引用,不会影响到 外部变量的引用
如果传递的参数是 可变类型,在函数内部,使用 方法 修改了数据的内容,同样会影响到外部的数据
如果一个函数返回的是元组,括号可以省略
缺省参数  多值参数 *args **kwargs
元组和字典的拆包  在 元组变量前,增加 一个 *  在 字典变量前,增加 两个 *


函数递归  一定要有出口 递归是一个 编程技巧 在处理 不确定的循环条件时,格外的有用,例如:遍历整个文件目录的结构
一个函数 内部 调用自己
def sum_numbers(num):
    if num == 1:
return 1
    temp = sum_numbers(num - 1)
    return num+temp


print(sum_numbers(50))

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值