python入门(知识点整理)

思路来源

https://www.runoob.com/w3cnote/pycharm-windows-install.html 安装教程

https://www.runoob.com/python/python-tutorial.html 教学教程

https://blog.youkuaiyun.com/L1558198727/article/details/82733571 博客参考

心得

很早之前就决心入坑python,但一直拖延……

终于被python短小精悍的代码所折服,决心开始学……

那就让一切,重新开始吧。

 

感谢RUNOOB.com提供的教程

12.24

Python赋值运算符

**=幂赋值运算符c **= a 等效于 c = c ** a
//=取整除赋值运算符c //= a 等效于 c = c // a

Python逻辑运算符

Python语言支持逻辑运算符,以下假设变量 a 为 10, b为 20:

运算符逻辑表达式描述实例
andx and y布尔"与" - 如果 x 为 False,x and y 返回 False,否则它返回 y 的计算值。(a and b) 返回 20。
orx or y布尔"或" - 如果 x 是非 0,它返回 x 的值,否则它返回 y 的计算值。(a or b) 返回 10。
notnot x布尔"非" - 如果 x 为 True,返回 False 。如果 x 为 False,它返回 True。not(a and b) 返回 False

布尔逻辑运算符

与:前假返回假,否则返回后

或:前真返回前,否则返回后

非:和普通的非一致

Python成员运算符

Python还支持成员运算符,测试实例中包含了一系列的成员,包括字符串,列表或元组。

运算符描述实例
in如果在指定的序列中找到值返回 True,否则返回 False。x 在 y 序列中 , 如果 x 在 y 序列中返回 True。
not in如果在指定的序列中没有找到值返回 True,否则返回 False。x 不在 y 序列中 , 如果 x 不在 y 序列中返回 True。

in可以指字符串序列的包含,也可以指一个值包含在另一个列表里,序列之意

比如,'a' in 'abcd',也比如1 in [1,2,3]

1.2

is的用法

比较两个对象的存储地址 是否相同

is
is not

>>> x='abc'
>>> y=x
>>> z='acde'
>>> x is y
True
>>> x is z
False

与==的区别:is比较地址,==比较内容

 

条件语句

多分支,嵌套时注意缩进

if(条件表达式):
    语句
elif(条件表达式):
    语句
else:
    语句

if语句括号不可省,此处没有三元运算符

 

循环语句

这里只写for的用法,while类似

>>> for i in (1,2,3):
...     print(i)
...
1
2
3

#range(begin,end,steps)

#等价于i=begin;i<end;i+=steps

>>> for i in range(1,11,3):
...     print(i)
...
1
4
7
10 

#只有两维时,认为steps=1

#只有一维时,认为begin=0,steps=1

>>> for i in range(5):
...     print(i)
...
0
1
2
3

print可以不换行,设置i之间格式为无空格

>>> for i in range(5):
    print(i,end=" ")

一些说明:

while缩进类似,break和continue照用

for循环嵌套不要超过三层,控制台死循环后用ctrl+c退出

 

流程控制语句

①for-else/while-else语句

如果没有被break终止,则执行else子句,否则不执行

for 变量 in 对象集合:

     语句

else:

      语句

 

while 条件表达式:

       语句

else:

      语句

例如下面的代码,

如果3次输入中有"a"则不会执行acc,

否则三次都输入完后,顺序执行acc和ok

for i in range(3):
    s = input("please input\n")
    if(s=="a"):
        break
else:
    print("acc")
print("ok")

②空语句

pass,代表什么也不执行,作占位符

i = 3
if ( i == 1 ):
    pass
else:
    i = 5
print(i)
 

例1

用户名密码登录

提示信息三种

1.输入正确 2.用户名密码不匹配 3.操作超过三次

user = 'ad'
word = '12'
for i in range(3):
    name = input("sys")
    pa = input("pass")
    if name == user and pa == word:
        print("welcome %s to sign in"%(name))
        break
    elif i == 2:
        print("sorry")
    else:
        print("illegal")

例2

猜数,random生成[start,end]区间内的数

# coding = utf-8
import random
x = random.randint(1,100)
for i in range(12):
    g = input("plz guess")
    y = int(g)# int()强转,只能转换纯数字的字符串,否则报错
    if y == x:
        print('right with %d times, ans is %d'%( i+1, y ))
        break
    elif y < x:
        print('small')
    else:
        print('big')
else:
    print('You lose')

"""
随机数代码可用以下代码代替,性能更优
"""
import os
x=int(os.urandom(1)[0])%100+1

 

一些数据类型

python里没有数组,用系列数据类型代替数组

容器

1.序列(列表、元组)

2.映射(字典)

3.集合

列表

可放不同类型的元素,支持变量、表达式

>>> [1,'aaa']
[1, 'aaa']
>>> x = 1
>>> [1,2,x]
[1, 2, 1]
>>> y = 1
>>> [1,2,x*y]
[1, 2, 1]

 

具体用法,待看待练,现学至python第九节

 

1.29

参考链接:https://www.cnblogs.com/houyan-jessica/p/9260283.html

lambda,匿名函数,等价于只有一个表达式的函数

a=lambda x:x*x
print(a(3))
'''lambda x:x*x
   与def sum(x):
        return x*x
    等价
'''        

def make_repeater(n):
    return lambda s:s*n

twice=make_repeater(2)
 
print(twice('wwss'))
 
print(twice(2))

#下面这个输出wwsswwss和22

参考链接:https://www.cnblogs.com/kongweisi/p/10441776.html

map(函数,list),前面是一个规则,后面是一个可迭代的对象,返回一个新的list

注意map方法是对对象里对每一个元素执行f操作,list的每个元素,str的每个字母,等等

def f(s):
    return s[0:1].upper() + s[1:].lower()


list_ = ['lll', 'lKK', 'wXy']

a = map(f, list_)

print(a)
print(list(a))

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小衣同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值