python学习记录1


一、变量

变量的命名
· 只包含字母、数字、下划线,不能以数字开头
· 不能包含空格,可用下划线分隔
· 应简短而有描述性
· 慎用i、O,易看错,多用小写

二、运算符

1.普通

·+,-,*,/,//取整,%取模(余数)(可应用判断奇偶性:n%2 ==0 偶)
·指数** 2**100 即2100

2.比较运算符

· >=,<=,==等于,!=不等于
· and、or、not 与或非
PS:短路逻辑从左到右,只有当一个操作数值无法确定运算结果时,才对第二个操作数进行求值(如and全为真才真,有一假即假,or全为假才假,有一真即真)

  3 and 4  输出4         3 or 4  输出3
  0 and 3  输出0         0 or 4  输出4
  #会输出判断依据的数值

3.同一性运算符

· is、is not 判断id是否相等/不相等
· in、not in 判断是否包含在序列中

4.运算符优先级

从低到高
在这里插入图片描述

三、转义字符

转义字符描述
\ (在行尾时)续行符
\\反斜杠符号
\’单引号
\"双引号
\a响铃
\b退格
\000
\n换行符
\v纵向制表符
\t横向制表符
\r回车
\f换页
\oyy八进制数yy代表的字符(o为字母)
\xyy十六进制数yy代表的字符
\other其他的字符以普通格式输出
· \n 换行符

· \t 制表符(向后跳格4个)
· '''输入多行字符串(可用于多行注释)''' (可以同一行显示多条语句,方法是用分号 ; 分开)

四、复合赋值

a += 2 即 a = a+2 (自增)
-= 、 *= 、/= 、%= 同理
PS:此用法不要组合进表达式中

五、if elif else

1.条件

· 布尔数True / False (非零值为True,0,None为False)

if A > B:#加:表结束
    print(A)#四空格缩进,if为真时执行
elif A = B:
    print(A,B)
else #除if,elif的其他情况
    print(B)

2.条件表达式

三元运算符
A if B else C

条件表达式取值的方式是,如果满足条件B,则返回if左边的值A;如果不满足条件,则返回else右边的值C,并且if左边的数据类型与else右边的数据类型相同。

六、列表

a = [ ](列表有序)
列表索引:a[0] (第一个元素)
a[-1] (最后一个元素)
· 列表函数(方法):

函数作用
list.append()末尾追加数据
list.extend()末尾追加另一个列表
list.insert(index,obj)在index位置插入元素
list.pop()删除元素并记录(空括号则删最后)
list.count()统计某元素出现次数
list.index()从list中找到第一个匹配项的索引位置
list.remove()移出列表中某个值的第一个匹配项
list.reverse()对某列表逆向
list.sort()列表排序

七、循环

1.for 循环

自动遍历列表、字符串内所有元素

for i in list:
    print(i)

若for循环无内容,需放入pass语句,避免出错

关键字 in 可检查是否存在某元素/字符

pg = "Stephen Curry"
print("Curry" in pg)
True

2.while 循环(条件循环)

无边界条件,需设计,用计数器推动

a = 5
while a > 0 :
print(a)
a = a - 1

3.补充语句

continue: 跳过本次迭代 中后面代码,进入下次迭代(小循环)
break: 跳出大循环,终止循环,从循环外首行执行

八、元组与字典

1.元组(tuple)

不可变线性数据结构

tuple1 = (x, y……)
tulle2 = (a,) #只有一元素时后加,

2.字典(dict)

存放有映射关系的数据

dict1 = {"key1": x, "key2" y, ……}
print(dict1["key1"]  #输出x
dict1["key3"] = z #添加
dict函数描述
dict.keys()以list形式返回dict所有键(key)
dict.get()获取指定键
dict.items()以list形式返回dict所有项(二元组结构)
dict.clear()清空字典
dict.pop()移除指定键
dict.popitem()删除最后一项
dict.values()以list形式返回dict所有值

九、切片

截取数据
列表名/元组名[x:y] (空出则默认首尾,左闭右开)
使用负索引可从末尾开始切片

十、集合

集合无序,无重复,使用大括号

players = {"Curry","James","Leonard"}
for i in players:
    print(i)
    返回结果无序,无法索引特定项

集合无法更改,但可新添加

players = {"Curry","James","Leonard"}
players.add('Lillard')   #添加一项
print(players)
player = {"Kobe","Iverson"}
players.update(player)   #添加另一集合(对象不一定是集合,可是任何可迭代对象)

用union()返回包含两个集合中所有项的新集合

players = {"Curry","James","Leonard"}
player = {"Kobe","Iverson"}
players1 = players.union(player)

intersection_update()方法将只保留两个集合中都存在的项目。
用intersection()方法返回一个新集合,仅包含两个集合中都存在的项目。

symmetric_difference_update()方法将只保留仅在一个集合的元素。
symmetric_difference()方法返回一个新集合,仅包含仅在一个集合的元素。

使用remove()(删除元素需存在)、 或discard()(删除元素不存在也不会出错)方法可删除集合中元素

用pop.()可随机删除一项,用clear()可清空集合

十一、定义函数

1.定义形式

def PrintThreetimes(a): #a为参数,可调用多个
    print(a)
    print(a)
    print(a)
                      #定义与使用间用空行隔开,便于阅读
PrintThreetimes(x)
def area(h,w):
    return h*w  #值返回外部

size = area(10,15)
print(size)
输出150

2.参数

1.必选参数:定义时无符号,调用时必须给定值
2.默认参数:设定默认值,不给定用 def area(h=10,w=5):
3.不定长参数(可变参数): def area(*a):
4.关键字参数:使用key = value语法发送参数。可无视参数顺序

def area(h1,h2,h3):
    print(h1*h3)

area(h1 = 10, h2 =5, h3 =50)

任意关键字参数:接受多个关键字参数 def area(**h)

3.匿名函数(lambda)

使用时不输函数名

square = lambda x:x*x  #对x进行一次计算替代(替代为x*x)
S = aruare(9)
print(S)
输出81

4.递归函数

程序调用了自己

def fac(n):
    if n <= 1
        return 1
    return n*fac(n-1)  #计算阶乘

5.跳转

调用函数的代码执行顺序
:执行到函数调用时进入函数定义,函数体执行完毕后,代码返回调用前的地方

十二、格式化输出

1. %作占位符

%s——字符串
%d / %i——整数
%f——浮点数

print('%10d' % 99)  #10表示宽度(2宽度空一格)
print('%.6f' % 3.11415926535)  #.6表示小数点后六位
#同时表示宽度和精度
print('%10.7f' % 3.1415926535)#注意数值前要有%
输出:
     99
3.141592
     3.1415926

2.{}作占位符

print(f"……{ }…… ")格式化输出

print("My Name is {0}.I am {1} years old.I'm {0}".format(name,age))
0,1 对应位置

~~累累累~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值