1、python基础知识
print是函数,里面的“xxx”是参数,单引号、双引号都可以,单引号内还有单引号可以用\'来表示,“同理
ipmprt导入的是模块,也就是文件,模块中包含很多函数
“嘚吧嘚:{};嘚吧嘚:{}”.format(xxx,xxx)
变量需要先赋值再用
交换a、b的值
命名规范
非法字符: - 是变量命名中的非法字符。字母中间有空格的变量名,为非法字符。首字符为数字的变量名为非法字符。
upper() 方法将字符串中的小写字母转为大写字母。 isupper() 方法检测字符串中所有的字母是否都为大写。 islower() 方法检测字符串中所有的字母是否都为小写。
strip() 方法用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。字符中间的没办法。
line.upper()值都是一样的,但是每次都会指向新的内存地址,由于new_line = line.upper(),所以每次new_line 的地址也在变,最神奇的是每次id(line.upper())地址都在变。
python中的变量指向一块内存地址,可以任意修改
对于序列,+ * len 是都可以用的
extend 与 + 的区别:有无返回值
pop(0)是弹出来第一 个数。remove(2)是移除第一个数值为2的数,后面的不管。
insert(位置,值),pop(位置),remove(值)
sort()对数组 中的元素按字母进行升序排序
tuple元组
变量名 = tuple()
变量名 = ()
tuple只有count、index函数
count(数组名) 函数返回数组中元素的数目。xxx.count(值) 函数返回xxx中为这个值的元素的数目。
index(值) 得到的是这个值所在的位置
拉锁函数:把多个个列表拉成一个列表: zip(列表变量名1,列表变量名2,列表变量名3),列表中的每个元素都是一个元组 (),(),(),每个元组中包含多个值
都是按每个元组内的顺序取的,多余的忽略了
字典 fromkeys() 函数用于创建一个新字典,以序列 seq 中元素做字典的键,value 为字典所有键对应的初始值。fromkeys()方法语法:dict.fromkeys(seq, value])。该方法返回一个新字典。
xxx字典.get(‘键' ,值)可以在找不到这个键的时候给一个值。结果不写入字典。
字典(Dictionary) items() 函数以列表返回可遍历的(键, 值) 元组数组。items()方法语法:xx字典.items()
setdefault(‘xxx' ,值)不存在的时候给一个值,存在的时候就不给赋值用原来的值。 字典 setdefault() 函数和 get()方法 类似, 区别在于键不存在于字典中,将会添加键并将值设为默认值。
实际 不需要这种写法:bool(''), bool({}), bool([])。在python中任何值都可以用作bool值。
and、or、not 都是返回具体的值,这个值取决于哪个位置做的最终判断
assert(断言)用于判断一个表达式,在表达式条件为 false 的时候触发异常。断言可以在条件不满足程序运行的情况下直接返回错误,而不必等待程序运行后出现崩溃的情况,例如我们的代码只能在 Linux 系统下运行,可以先判断当前系统是否符合条件。
如果不符合断言输出:xxxxxxxxxx。
for xxx in 序列名: 这个是每次从序列中依次取出一位循环遍历
str() 函数将对象转化为适于人阅读的形式。str() 方法的语法:class str(object='' 。返回一个对象的string格式。
str(数值) 把数值转化为字符串
上面是不论有没有遇到break都执行,下面是有遇到break就不执行,没遇到就执行。
xxx.items() 把字典转化为列表,列表中每个元素为一个元组,包含key,value。【(key,value),(key,value)】
get_keys 是函数名。() 中为参数; dict_varibal: 形参,调用的时候传递的值才是实参。return 是返回值。
.append(数值) 都会改变原来的变量的值
参数的收集,一个*是收集位置参数,**参数是收集关键字参数
可以把函数名赋值给一个变量
可以在函数中返回一个函数
函数名(整型实参)
函数名('字符串实参')
函数名(函数名)
函数可以当作函数的返回值进行返回
返回一个从0到1的浮点值
函数返回的浮点值保留三位有效数字,如下方式不友好,需要手动修改有效数字
python另一个语法糖,装饰器
decorator 装饰工
wrapper 包装纸
f = decorator(test) 完全等价于装饰器@decorator的写法
@decorator
s = 'hello world' 中s是字符串这个类下的一个对象,s调用center时传给函数会有一个self的对象,指向它本身。
__init__( )是初始化函数,init关键字就是初始化,self就是如果我的类生成一个对象,self就指的类本身。
p = Person('wong', 12) 是生成了一个实例p。
def get_name(self): 里的参数self,指向的就是调用它的实例本身,也就是p.get_name()里的p。
class Student(Person): 是student这个类继承person这个类
pass代表着什么都不做,只是占个位而已。
student这个类继承person这个类,person实例化的时候需要name、age参数,那么student实例化的时候,也需要name、age参数:s = Student('liu', 24),沈城实例s
如下图s 是上面定义的字符串的类的方法,是因为没有执行。
如果一个类隶属于另一个类,有同样的方法,就不应该重新写了,而是应该继承这个类。
如下增加一些person类没有的方法:
不想把类的实例化属性暴露给调用的用户,就应该加一个下划线_,表示这个属性是隐私的,你不要访问。但是加了下划线你要是想看,还是可以看的,因为没有做强制约束。
初始化函数中,self后面的是实例化对象的属性,加下划线的意思是,代表这个属性是私有的,不应该访问
property 属性
bound method Person.name of <__main__.Person object at 0x0000000004EBC5C0>
绑定方法Person.name的<__ main __.Person对象位于0x0000000004EBC5C0> `
如果想要通过:实例.方法名 来调用一个方法。而不是通过:实例.方法名( ) 来调用一个方法。 那么直接再定义的方法前面添加:@property
如下方式,写一个类,封装了百度的API,可以获取地址。
ipport 文件名,来导入python文件。
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现