Python基本语法+流程控制

目录

一、python字面量

1.1、常见的路中值(数据)类型                

1.2、字符串

单引号,双引号区别:

多引号作用:

字符串拼接

1.3、布尔类型

 1.4、列表(list)

元素添加(插入与追加)

 列表的修改

 删除元素

 判断某匀速是否在列表里

二、运算符

2.1、算术运算符

2.2、比较运算符

2.3、赋值运算符

2.4、逻辑运算

2.5、成员运算

三、读取用户输入

四、格式化打印

 五、流程控制之if...else....

5.1、单分支

5.2、双分支

5.3、缩进

5.4、多分支


一、python字面量

        字面量:在代码中,被写下来的固定的值,称为字面值。

1.1、常见的路中值(数据)类型                

类型描述说明
数字(Number)

支持

-整数(int)

-浮点数(fooat)

-复数(complex)

-布尔(boot)

整数(int):10 ,-10

浮点数(float):13.14 ,-13.14

复数(complex):4+3j,以j结尾表示符输

布尔(bool):表达现实生活中的逻辑,即真和假,True表示真,False表示假(True本质上是一个数字记做1,False记作0)

字符串(String)描述文本的一种数据类型字符串(String)由任意数量的字符组成
列表(List)有序的可变序列Python中使用最频繁的数据类型,可有序记录一堆数据
元组(Tuple)有序的不可变序列可有序记录一堆不可变的Python数据集合
集合(Set)无序不重复集合可无序记录一堆不重复的Python数据集合
字典(Dictionary)无序Key-Value集合可无序记录一堆Key-Value型的Python数据集合

1.2、字符串

字符串(string)又称文本,是由任意数量的字符如中文,英文,各类符号,数字等组成,所以叫做字符的串。

需要注意的是:Python中,字符串需要双引号("")包围起来。被双引号包围的都是字符串。

>>> name = "Alex Li" #双引号
>>> age = "22"  #只要加引号就是字符串
>>> age2 = 22    #int型在这里是
>>> 
>>> msg = '''My name is Alex, I am 22 years old'''  #三个引号也可以表示字符型
>>>
>>> hometown = 'ShangDong' #单引号也可以

单引号,双引号区别:

单引号和双引号没有任何区别,只有下面这种情况需要注意单双引号的配合

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

多引号作用:

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

msg = '''
今天是个好日子
今天开启py学习
py学起来很好玩
'''
print (msg)

字符串拼接

数字可以进行加减乘除等运算,字符串同样可以使用

>>> age = '22'
>>> name = 'Alex Li'
>>> name + age
>>> 'Alex Li22'
>>> name * 10
>>> 'Alex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex LiAlex Li'

不用尝试相减、相除、臣妾办不到呀。

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

>>> name = "Aliex Li"
>>> age = 23
>>> 
>>> type(name),type(age)
(<class 'str'>, <class 'int'>)
#name是字符型   age是整形
>>> 
>>> name + age
#报错信息
Traceback (most recent call last):
  File "<pyshell#5>", line 1, in <module>
    name + age
TypeError: can only concatenate str (not "int") to str

1.3、布尔类型

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

但对于初学者并不是很明白这句话说明意思,简单说,我现在有两个值,a=3,b=5我说a>b你说成立吗?结果肯定是不成立,但是计算机怎么去描述这不成立呢?或者说a<b是成立,计算机怎么描述这个公式是成立的呢?

答案肯定是,用布尔类型

>>> a=3
>>> b=5
>>> a<b
True
>>> a>b
False

计算机为什么要描述这种条件呢?因为接下来就可以根据条件结果来干不同的事,比如:

a=4
b=5
if a > b :
    print ("a is bigger then b")
else :
    print("a is small than b")

 1.4、列表(list)

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

name = "alex,zhangsan,lisi,wangwu,jack"
print(name)
names = ["alex","zhangsan","lisi","wangwu","jack"]
print(names[2]

print(name)它打印所有人的信息,如果要想单独去除lisi,这里用列表(示例的第二种方法)

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

元素名alexzhangsanlisiwangwujack
下标(索引)01234

元素添加(插入与追加)

names = ["alex","zhangsan","lisi","wangwu","jack"]
#元素插入
names.insert(3,"小明")  #3代表你想插入的下表位置
print(names)
#元素追加
names.append("小强")   #append添加到列表的尾部
print(names)

 列表的修改

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

names = ["alex","zhangsan","lisi","wangwu","jack"]
print(names)
#列表的修改
names[0] = "小赤"
print(names)

 删除元素

有两种方法删除方法:

一:元素删除:

#元素值删除
names = ["alex","zhangsan","lisi","wangwu","jack"]
print(names)
#删除元素
names.remove("alex") #通过指定元素名删除,会删除从左边开始找到的第一个小明,如果有多个小明就删除找到的第一个
print(names)

二:下标删除 

names = ["alex","zhangsan","lisi","wangwu","jack"]
print(names)
#下标删除元素
del names[0]  #通过指定下标删除
print(names)

 

 判断某匀速是否在列表里

names = ["alex","zhangsan","lisi","wangwu","jack"]
print(names)

if ("alex" in names):   #判断alex是否在数组names里,主要是通过("alex" in names)来判断
    print("true")
else:
    print(false)

 

二、运算符

计算机可以进行的运算很多种,可不知加减乘除怎么简单,运算按种类可分为算术运算,比较运算,逻辑运算,赋值运算,成员运算,身份运算,位运算,今天我们暂时只讲算术运算,比较运算,逻辑运算,赋值运算,成员运算。

2.1、算术运算符

预先设置变量:a=10 b=20

运算符描述实例
+加-两个对象相加a+b输出结果30
-减-得到符输或是一个数减去另一个数a-b输出结果-10
*乘-两个数相乘或是返回一个被重复若干次的字符串a*b输出结果200
/除-两数相除b/a输出结果为2
%取余(模)-返回除法的余数b%a输出结果为0
**幂-返回x的y次幂a**b为10的20次方
//取整数-返回商的整数部分9//2输出结果4

 2.2、比较运算符

预先设置变量:a=10 b=20

运算符描述实例
==等于-比较对象是否相等(a==b)返回false
!=不等于-比较两个对象是否不相等(a!=b)返回true
<>不等于-比较两个对象是否不相等(a<>b)返回true
>大于-返回x是否大于y(a>b)返回false
<小于-返回x是否小于y。所有的比较运算符返回1表示真,返回0表示假,这分别与特殊的变量True和False等价。注意,这些变量名大写(a<b)返回true
>=小于等于-返回x是否大于等于y(a>=b)返回false
<=小于等于-返回x是否小于等于y(a<=b)返回true

2.3、赋值运算符

运算符描述实例
=简单的赋值运算符c=a+b将a+b的运算结果赋值给c
+=假发赋值运算符c+=a等效于c=c+a
-=减法赋值运算符c-=a等效于c=c-a
*=乘法赋值运算符c*=a等效于c=c*a
/=除法赋值运算符

c/=a等效于c=c/a

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

2.4、逻辑运算

a=10 b=20

运算符描述实例
and判断多个条件均为真事时,返回真a>10 and b>10 返回false
or判断多个任意一个为真时,返回真a>10 or b>10 返回true
not取反not a>b 返回为true

2.5、成员运算

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

三、读取用户输入

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

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

 执行脚本就会发现,程序会等待你输入姓名后再往下继续走。

可以让用户输入多个信息,如下。

name = input("what's you name?  ")
age = input("how old are you?  ")
hometown = input("where is your hometown?  ")
print("Hello",name,"your are",age,"years old,you come from",hometown)

四、格式化打印

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

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

其实也结合上面很简单

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)

 五、流程控制之if...else....

只需要在程序里预设一些条件判断语句,满足哪个条件完成什么操作,这个过程就是流程控制。

5.1、单分支

if 条件:   #if后加.是固定语法
    满足条件后要执行的代码
salary = 100
if salary>50:
    print("super big")

 5.2、双分支

if 条件:
    满足条件执行代码
else:
    if条件不成立就走这段代码
salary = 30
if salary>50:
    print("super big")
else:
    print("not so big")

5.3、缩进

你会发现,上面的if代码里,每个条件的下一行都缩进4哥空格,这是为什么呢?这就是python一大特色,强制缩进,目的是为了让程序知道,每段代码依赖哪个条件,如果不通过缩进来区分,程序怎么会知道,当你的条件成立后,去执行哪些代码呢?

在其他语言里,大多通过{}来确定代码块,比如c,c++,java,javascripts,以下就是一个javascripts的例子

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

在有{}来区分代码块的情况下,缩进的作用就只剩下让代码变的整洁了

Python是们超级简洁的语言,发明者肯定是觉得用{}太丑了,所有索性直接不用它,那怎么能区分代码块呢?答案就是强制缩进。

5.4、多分支

if 条件:
    满足条件执行代码
elif 条件: #else if ...
    满足条件执行代码,前提是上一层的elif条件不满足
elif 条件: #else if ...
    满足条件执行代码,前提是上一层的elif条件不满足
else:
    if条件不成立就走这段代码
number = int(input("输入成绩:"))
if number>0 and number<39:
    print("这成绩再不学习就只能搬砖了")
elif number>40 and number<59:
    print("这成绩补补还有救")
elif number>60 and number<79:
    print("成绩良好")
elif number>80 and number<89:
    print("成绩优秀")
elif number>90 and number<100:
    print("成绩相当好")

 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值