Python语法基础篇 - 学习笔记(自用)

以下部分笔记来自路飞学城教育机构学习课件

1.1.变量

直接设置一个变量名=值

name = "Alex"
age = 22
height = 180

后面程序想调用的时候,直接调 变量量名 就可以

name = "Alex"
age = 22
height = 180
print(name) # 调⽤用变量量
print(age)

1.2 变量的使用规则

程序是从上到下依次逐行执行的,所以变量必须先定义后调用, 否则会报错

1.3 变量的定义规则

        1. 在程序全局都会用到的变量,尽量定义在文件开头
        2. 变量名只能是字母、数字或下划线的任意组合,其它形式均不合法
        3. 变量名的第⼀个字符不能是数字
        4. 以下关键字不要声明为变量名[‘and’, ‘as’, ‘assert’, ‘break’, ‘class’, ‘continue’, ‘def’, ‘del’,         ‘elif’, ‘else’,‘except’, ‘exec’, ‘finally’, ‘for’, ‘from’, ‘global’, ‘if’, ‘import’, ‘in’, ‘is’, ‘lambda’, ‘not’,         ‘or’, ‘pass’, ‘print’,‘raise’, ‘return’, ‘try’, ‘while’, ‘with’, ‘yield’],

        这些是Python语法中已经占用了的关键字

1.4 变量的修改

name = "Alex"
age = 22
height = 180

print(name,height)

height = 185 #直接重新赋值就改了
print(name,height)

 1.5 删除变量

del name #删除变量

2.1 基础的数据类型

Python中常用的数据类型,例如数字、字符串、布尔类型、列表

2.2 数字类型

        int (整型) integer

>>> age_alex = 26
>>> alex_salary = 500000000
>>> type(age_alex),type(alex_salary)
(<class 'int'>, <class 'int'>) # 都是int类型
#可用type()方法来查看数据类型

        float (浮点型)即小数

>>> type(2.32)
<type 'float'>
>>> type(-3.141592653)
<class 'float'>

2.3 字符串

在Python中,加了引号的字符都被认为是字符串

>>> name = "Alex Li" #双引号
>>> age = "22" #只要加引号就是字符串
>>> age2 = 22 #int
>>> msg = '''My name is Alex, I am 22 years old!''' #3个引号也可以
>>> hometown = 'ShanDong' #单引号也可以

单双引号 没有任何区别,只有下面这种情况,你需要考虑单双的配合。

msg = "My name is Alex , I'm 22 years old!"

多引号 作用就是多行字符串必须用多引号

msg = '''
今天我想写首小诗,
歌颂我的同桌,
你看他那乌黑的短发,
好像⼀只炸毛鸡。
'''
print(msg)

字符串拼接

数字可以进行加减乘除等运算,字符串只能进行”相加”和”相乘”运算。

>>> name
'Alex Li'
>>> age
'22'
>>>
>>> name + age #相加其实就是简单拼接
'Alex Li22'
>>>
>>> name * 10 #相乘其实就是复制⾃己多少次,再拼接在一起
'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

字符串的拼接只能是双方都是字符串,不能跟数字或其它类型拼接

>>> name = "Alex Li"
>>> age = 23
>>>
>>> type(name),type(age)
(<type 'str'>, <type 'int'>)
>>> name + age # 字符串跟数字相加报错
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects

2.4 布尔类型

布尔类型很简单,就两个值 ,一个True(真),一个False(假), 主要用作逻辑判断
 

>>> a=3
>>> b=5
>>>
>>> a > b #不成立就是False,即假
False
>>>
>>> a < b #成⽴就是True, 即真
True

计算机为什么要描述这种条件呢?

if a > b
print(“a is bigger than b ”)
else
print(“a is smaller than b” )

2.5 列表(List)

如果要把全班的人名在内存里存下来,用上面的字符串类型可以做到,但取的时候不方便。

names = "Alex,Jack,Rain,Rachel,Mack..."

你 print(names) 它打印的是所有人的信息,如果想取出Rain,没办法(可以用字符串切割方式,但是很麻烦)。此时,用列表就比较合适。

>>> names = ["Alex","Jack","Rain","Rachel","Mack"]
>>> names[2] #为何names[2]就能取出Rain
'Rain

因为列表的是通过下标来标记元素位置的,下标也可称为索引。 下标从0开始,每添加一个元素,就自动+1

元素名AlexJackRainRachelMack
下标(索引)01234

元素添加

元素的添加有2种方式,插入、追加。

插入  insert()

插入指可以把⼀个新元素插入到列表的任意位置。

>>> names
['Alex', 'Jack', 'Rain', 'Rachel', 'Mack']
>>> names.insert(3,"⼩小明") #3代表你想插入的下标位置
>>> names
['Alex', 'Jack', 'Rain', '⼩小明', 'Rachel', 'Mack']
>>>

追加 append()

添加到列表的尾部

>>> names
['Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack']
>>> names.append("小强")
>>> names
['Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack', '小强']

列表的修改 

直接根据下标找到元素重新赋值即可

>>> names[0] = "⾦角大王Alex"
>>> names
['角⼤大王Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack', '小强']

删除元素  del / remove()

有2种删除方法,一个是下标删除,一个是元素值删除。

>>> names
['金角大王Alex', 'Jack', 'Rain', '小明', 'Rachel', 'Mack', '小强']
>>> names.remove("小明") # 通过指定元素名删除, 会删除从左开始找到的第⼀个小明, 如果有
多个小明,则只删除找到的第一个。
>>> names
['金角⼤大王Alex', 'Jack', 'Rain', 'Rachel', 'Mack', '小强']
>>> del names[3] # 通过指定下标删除

判断某元素是否在列表里  “xxx”  in list

>>> names
['金⻆角⼤大王Alex', 'Jack', 'Rain', 'Rachel', 'Mack', '小强']
>>>
>>> "Mack" in names
True

3.0 运算符

运算按种类可分为算数运算、比较运算、逻辑运算、赋值运算、成员运算、身份运算、位运算

3.1 算术运算符

 3.2 比较运算符

注意:<>在python3里已经取消了,仅在py2里有效

3.3 赋值运算符

 3.4 逻辑运算

 多个or 或and 拼在一起

>>> a,b,c
(10,20,5)
>>> (a > b and a < c or b > c and a > b) and a > c
False

 3.5 成员运算

只有in, not in 2种, 用来测试数据中是否包含了一系列的成员

运算符描述实例
in如果在指定的序列中找到值返回True,否则返
回False。
x 在 y序列中 , 如果x在y序列中返回
True。
not in如果在指定的序列中没有找到值返回True,否
则返回False。
x 不在 y序列中 , 如果x不不在y序列中
返回True。
>>> names
['金角大王Alex', 'Jack', 'Rain', 'Rachel', 'Mack', '小强']
>>> "Jack" in names
True
>>> "Jack" not in names
False
>>> s = "我是沙河最帅的仔"
>>> "沙河" in s
True

注意,可以用来测试 字符串、列表、元组、字典、集合, 但是不能测试数字类型

4.0 读取用户输入

若你的程序要接收用户指令,可以用input语法:

name = input("What is your name?")
print("Hello " + name )

执行脚本就会发现,程序会等待你输入姓名后再往下继续走。
可以让用户输入多个信息,如下
 

name = input("What is your name?")
age = input("How old are you?")
hometown = input("Where is your hometown?")
print("Hello ",name , "your are ", age , "years old, you came from",hometown)

执行结果

What is your name?Alex Li
How old are you?22
Where is your hometown?ShanDong
Hello Alex Li your are 22 years old, you came from ShanDong

注意, input()方法接收的只是字符串,即使你输入的是数字,它也会按字符串处理

5.0 格式化打印

现有一练习题需求,问用户的姓名、年龄、工作、爱好 ,然后打印成以下格式

------------ info of Alex Li -----------
Name : Alex Li
Age : 22
job : Teacher
Hobbie: girl
------------- end -----------------

语法

name = "Alex"
age = 22
print( f"hello my name is {name}, I am {age} old..")

注意字符串开头要加上 f ,才可以在里面用 {} 来引用外部变量

name = input("Name:")
age = input("Age:")
job = input("Job:")
hobbie = input("Hobbie:")
info = f'''
------------ info of {name} -----------
Name : {name}
Age : {age}
job : {job}
Hobbie: {hobbie}
------------- end -----------------
'''
print(info)

6.0 流程控制之 if...else...

基本上在各个语言中,都是用语法 if…else…来实现,可分为单分支、双分支、多分支

6.1 单分支

if 条件:
    满⾜条件后要执行的代码
---------------------------
salary = 8000
if salary < 10000:
    print("低于标准")

6.2 双分支
 

if 条件:
    满⾜条件执行代码
else:
    if条件不成立就走这段代码

salary = 18000
if salary < 10000:
    print("你挣太少了,⼜长的丑,找对象有困难,建议来跟Alex学习Python+把妹技巧")
else:
    print("恭喜满足了在北京生存的基本收入线")

6.3 缩进

上面的if代码里,每个条件的下⼀行都缩进了了4个空格,这就是Python的⼀大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件。

在其它的语言⾥里,大多通过 {} 来确定代码块,比如C,C++,Java,Javascript都是这样,看一个JavaScript 代码的例子
 

var age = 56
if ( age < 50){
    console.log("还能折腾")
    console.log('可以执⾏多行代码')
}else{
    console.log('太老了了')
}

在有 {} 来区分代码块的情况下,缩进的作用就只剩下让代码变的整洁了。
Python是⻔门超级简洁的语⾔言,发明者定是觉得⽤用 {} 太丑了了,所以索性直接不不⽤用它,那怎么能区分代码
块呢?答案就是强制缩进。
Python的缩进有以下几个原则:

       顶级代码必须顶行写,即如果⼀行代码本身不依赖于任何条件,那它必须不能进行任何缩进。

        同⼀级别的代码,缩进必须⼀致。

        官方建议缩进用4个空格,当然你也可以用2个,如果你想被人笑话的话。

6.4 多分支

if…else …可以有多个分支条件

if 条件:
    满⾜条件执行代码
elif 条件: # else if ...
    满⾜条件执行代码,前提是上一层的if条件不满足
elif 条件:
    满足条件执行代码,前提是上一层的elif条件不满⾜
elif 条件:
    满足条件执行代码,前提是上一层的elif条件不满⾜
else:
    上面所有的条件不满足就走这段

7.0 for 循环

7.1 语法

for i in range(10):
    print(i)

上面代码,会从0-9,共循环10次,这个range(10),其实是相当于产生了了一个从0到9的列表,每循环一次,就会把列表里的下一个元素取出来给临时变量i.

7.2 循环猜年龄

需求:最多允许猜三次,猜对了就退出程序

black_gf_age = 24
    for i in range(3):
guess = int(input("猜黑姑娘多大了>>:"))
    if guess > black_gf_age:
    print("猜的太大了,往小里试...")
elif guess < black_gf_age:
    print("猜的太⼩了了,往大里试试...")
else:
    exit("恭喜你,猜对了...") # 退出程序

7.3 打印奇偶数

打印50-100间的奇数

for i in range(50, 100): # 可以定义区间
    if i % 2 == 1:
        print(i)

7.4 循环嵌套

一栋楼有5层,每层8间屋子,要求你把本楼所有的房间号打印一遍, 格式“1层-104”, “2层-205“

for i in range(1,6):
    for j in range(1,9):
        print(f"{i}层-{i}0{j}室")

8.0 break & continue

continue

continue的语法作用是, 只要程序一遇到continue, 本次循环就不继续了,直接进入下一次循环。

for i in range(1,6):
    for j in range(1,9):
        if i == 3:
            continue # 跳过本次循环,继续下次循环
        print(f"{i}层-{i}0{j}室")

break

break的语法作用是,只要程序遇到break, 就会结束当前这个循环, 注意如果是多层嵌套循环,只结束当前这一层的循环。

for i in range(1, 6):
    for j in range(1, 9):
        if i == 3:
            print("不走3层.......")
            continue # 跳过本次循环,继续下次循环
        if i == 4 and j == 4: # 遇到404
            print("遇到鬼屋404了了,不再继续了")
            break # 结束当前循环, 注意只会结束第2层这个小循环。
        print(f"{i}层-{i}0{j}室")

9.0 while 循环

与for必须指定循环多少次不一样的是, while 循环的次数可以是不定的,只要条件满足就可以永远循环下去。

9.1 语法

while 条件: # 只要条件为真, 就会不断的循环
    print(xxxxx)

死循环

count = 0
while True: # 条件永远为真
    print("第{count}次循环....")
    count += 1

循环10次 这样就形成了了跟for i in range(10)一样的效果

count = 0
while count < 10:
    print("第{count}次循环....")
    count += 1

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值