博客1 :https://www.cnblogs.com/linhaifeng/p/7278389.html
博客2: https://github.com/3KK3/Python
**
: 次方操作
a = 2 ** 3
print(a)
# 输出是 8
//
:取商
a = 9 // 2
print(a)
# 输出是4
input()
: 等待输入字符串
a = input("请输入密码")
base
:指定进制转换
num = "11"
new = int(num,base = 2) #按照二进制转换
bit_lenght
判断数字的二进制表示至少有几位
age = 10
r = age.big_lenght()
序列:
- 字符串 str
- 列表 list
- 元组 turple
字符串操作:
-
+
: 例如c = "a" + "b"
-
-
: 例如c = "ab" - "b"
-
*
: 例如c = "a" * 10
, 结果是aaaaaaaaaa
-
in
ornot in
: 例如if "a" in "abc"
,判断是否包含指定字符串
center
: 构造指定中间内容的字符串
str = "str"
result = str.center(10,"1")
print(result)
# 111str1111
format
和format_map
格式化字符串
test = "my name is {name},age is {age}"
result = test.format(name = "Bill",age = 12)
print(result)
# my name is Bill,age is 12
制表符\t
和扩充表格方法expandtabs
制作表格:
str = "name\tage\taddress\nBill\t11\t北京\nAlex\t12\t山东\nMori\t22\t上海"
print(str.expandtabs(20))
#输出:
"""
name age address
Bill 11 北京
Alex 12 山东
Mori 22 上海
"""
join
将字符串中的每一个元素按照指定分隔符进行拼接
str = "今天是星期五haha"
print("%".join(str))
# 今%天%是%星%期%五%h%a%h%a
列表List:
list1 = [1,"2",[1,2,3],True]
下标方式删除元素: del list1[0]
切片方式删除元素: del list[0:2] #删除位置大于等于第0个,小于第二个的元素
字符串转列表:
str = "abcdefg"
list1 = list(str)
三元表达式:
name = 'bill'
new_n = 'a' if name == 'bill' else 'b'
列表解析器
list1 = ['小明%s' %i for i in range(10)]
list1 = ['小明%s' %i for i in range(5) if i > 3]
print(list1)
生成器表达式
把上面列表解析器的[]
换成()
list1 = ('小明%s' %i for i in range(5) if i > 3)
print(list1.__next__())
生成的是generator object类型,默认遵守迭代器协议
生成器表达式比列表解析器更加节省内存
装饰器
import time
# 高阶函数 + 函数嵌套 + 闭包
def calTime(func):
def wrapper():
startTime = time.time()
value = func()
endTime = time.time()
print('函数运行时间%s',%(endTime - startTime))
return value
return wrapper
# 相当于test = calTime(test)
@calTime
def test():
time.sleep(1)
print('函数执行完毕')
return
test()
带参数的装饰器:
import time
# 高阶函数 + 函数嵌套 + 闭包
def calTime(func):
def wrapper(*args, **kwargs):
startTime = time.time()
func(*args, **kwargs)
endTime = time.time()
print('函数运行时间%s',%(endTime - startTime))
return wrapper
解压序列:
list1 = [1,2,3,4,5,6,7,8]
a,*_,c,b = list1
a,b,c,*_ = 'hello world'
print(a)
print(b)
print(c)
a = 1
b = 2
a ,b = b ,a
# 交换a b的值
if __name__ == '__main__':
用处:
- 在被调用模块书写,可以保证测试代码不被外部调用
- 在调用模块书写,可以保证自己不被别人调用