python 颠倒黑白_Python--基础一

Python基础:print & input & 变量 & 运算符 & Python数据类型 & 运算符与表达式

Python 基础 1

注释

单行注释

#我注释了一行

多行注释

三个单引号'''括起来

'''我可以注释多行

我可以注释多行

我可以注释多行'''

三个双引号"""括起来

"""我可以注释多行

我可以注释多行

我可以注释多行"""

print 输出

作用:打印到屏幕上一些信息

可以接受多个字符串,用逗号分隔,遇到逗号会输出一个空格

print("It's a beautifu day", "Nice day", "my finished")print(18)print(10 + 8)print("10 + 8 =", 18)

input 输入

作用:从外部获取变量的值

等待输入(阻塞),输入的内容报在age变量里

age = input("请输入您的年龄:")print("age =", age)

变量

概述:程序可操作的存储区的名称,程序运行期间能改变的数据,每个变量都有特定的类型;把程序运行的中间结果临时的存在内存里,以便后续的代码调用。

作用:将不同类型的数据存储到内存

变量的定义:变量名 = 初始值(为了确定变量的类型)

数据的存储:变量名 = 数据值 (注意:变量在使用前必须先“定义”(即赋予变量一个值),否则会出现错误)

删除变量:del 变量名 (删除后变量无法引用)

定义变量的规则

变量名只能是 字母 、数字或下划线的任意组合

变量名的第一个字符不能是数字

变量的定义要具有可描述性

以下关键字不能声明为变量名:

['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']

推荐定义方式

#驼峰体

AgeOfOldboy= 56NumberOfStudents= 80

#下划线

age_of_oldboy= 56number_of_students= 80

变量的赋值

#!/usr/bin/env python#-*- coding: utf-8 -*-

name1= "wupeiqi"name2= "alex"

#!/usr/bin/env python#-*- coding: utf-8 -*-

name1= "taibai"name2= name1

定义变量不好的方式举例

变量名为中文、拼音

变量名过长

变量名词不达意

常量

常量即指不变的量,如pai 3.141592653..., 或在程序运行过程中不会改变的量

数据类型

什么是数据类型?

我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不清1和‘汉’的区别的,因此,在每个编程语言里都会有一个叫数据类型的东东,其实就是对常用的各种数据类型进行了明确的划分,你想让计算机进行数值运算,你就传数字给它,你想让他处理文字,就传字符串类型给他。

整数 int

Python可以处理任意大小的整数,当然包括负整数,在程序中的表示和数学的写法一样

num1 = 10num2=num1print(id(num2))1998374864

#连续定义多个变量

num3 = num4 = num5 = 1

print(num3, num4, num5)1 1 1

#交互式赋值定义变量

num6, num7 = 6, 7

print(num6, num7)6 7

布尔值 bool

布尔值就两种:True,False。就是反应条件的正确与否。

真   1   True。

假   0   False。

浮点数 float

浮点型由整数部分与小数部分组成,浮点数运算可能会有四舍五入的误差

f1 = 1.1f2= 2.2f3= f1 +f2print(f3)3.3000000000000003

字符串类型(str)

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

>>> name = "Alex Li" #双引号

>>> age = "22" #只要加引号就是字符串

>>> age2 = 22 #int

>>> hometown = 'ShanDong' #单引号也可以

那单引号、双引号、多引号有什么区别呢? 让我大声告诉你,单双引号木有任何区别,只有下面这种情况 你需要考虑单双的配合

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

多引号什么作用呢?作用就是多行字符串必须用多引号

msg = '''今天我想写首小诗,

歌颂我的同桌,

你看他那乌黑的短发,

好像一只炸毛鸡。'''

print(msg)

数据类型转换

print(int(1.9))1

print(float(1))1.0

print(int("123"))123

print(float("12.3"))12.3

#如果有其他无用字符会报错

print(int("abc"))print(int("123abc"))

Traceback (most recent call last):

File"H:/Python项目/day/file.py", line 2, in

print(int("abc"))

ValueError: invalid literalfor int() with base 10: 'abc'

#只有作为正负号才有意义

print(int("+123"))123

#print(int("12+3")) #无意义会报错

print(int("-123"))-123

数字功能

返回数字的绝对值 abs

a1 = -10a2=abs(a1)print(a2)10

比较两个数的大小

a3 = 100a4= 9

print((a3>a4)-(a3

返回给定参数的最大值 max

print(max(1,2,3,4,5,6,7,8))8

返回给定参数的最小值 min

print(min(1,2,3,4,5,6,7,8))1

求 x 的 y 次方 pow

print(pow(2, 5))32

round(x[,n])返回浮点数x的四舍五入的值,如果给出n值,则代表舍入到小数点后n位

print(round(3.456))3

print(round(3.556))4

print(round(3.456, 2))3.46

print(round(3.546, 1))3.5

数学相关的库 math

importmath#向上取整

print(math.ceil(18.1))19

print(math.ceil(18.9))19

#向下取整

print(math.floor(18.1))18

print(math.floor(18.9))18

#返回整数部分与小数部分

print(math.modf(22.3))

(0.3000000000000007, 22.0)#开方

print(math.sqrt(16))4.0

range 指定范围,生成指定数字

for i in range(1,10):print(i)for i in range(1,10,2): #步长

print(i)for i in range(10,1,-2): #反向步长

print(i)

随机数 random

从序列的元素中随机挑选一个元素

importrandomprint(random.choice([1, 3, 5, 7, 9]))print(random.choice(range(5))) #range(5)== [0,1,2,3,4]

print(random.choice("Lee")) #"Lee" == ["L", "e", "e"]

>打印结果:10

e

产生一个1~100之间的随机数

print(random.choice(range(100)))91

从指定范围内,按指定的基数递增的集合中选取一个随机数

#random.randrange([start,] stop[,step])#start--指定范围的开始值,包含在范围内,默认是0#stop--指定范围的结束值,不包含在范围内#step--指定的递增基数,默认是1

print(random.randrange(1,100,2))13

#从0-99选取一个随机数

print(random.randrange(100))61

随机生成[0,1]之间的数(浮点数)

print(random.random())0.14728254253360773

随机生成一个实数,它在[3,9]范围

print(random.uniform(3,9))4.516309142130013

运算符与表达式

算数运算

表达式:由变量、常量和运算符组成的式子

算术运算符和算术运算表达式

算术运算符

+ - * / % ** //

以下假设变量:a=10,b=20

比较运算

以下假设变量:a=10,b=20

赋值运算

以下假设变量:a=10,b=20

逻辑运算

and

逻辑与: and逻辑与运算表达式:表达式1and表达式2

值:

如果表达式1的值为真,表达式2的值也为真,整体逻辑与运算表达式的值为真

如果表达式1的值为真,表达式2的值为假,整体逻辑与运算表达式的值为假

如果表达式1的值为假,表达式2的值为真,整体逻辑与运算表达式的值为假

如果表达式1的值为假,表达式2的值也为假,整体逻辑与运算表达式的值为假

【有一个为假就为假】

表达式1and 表达式2 and 表达式3 and ...... and表达式n

num1= 10num2= 20

if num1 andnum2:print("&&&&&&&&&&&")&&&&&&&&&&&

or

逻辑或: or逻辑或运算表达式:表达式1or表达式2

值:

表达式1的值为真,表达式2的值为真,逻辑或运算表达式为真

表达式1的值为真,表达式2的值为假,逻辑或运算表达式为真

表达式1的值为假,表达式2的值为真,逻辑或运算表达式为真

表达式1的值为假,表达式2的值为假,逻辑或运算表达式为假

【有一个为真就为真】

表达式1or 表达式2 or 表达式3 or ...... or表达式n

num3=0

num4= 1

if num3 ornum4:print("||||||||||")||||||||||

not

逻辑非: not逻辑非运算表达式:not表达式

值:

如果表达式的值为真,整体逻辑非运算表达式的值为假

如果表达式的值为假,整体逻辑非运算表达式的值为真

【颠倒黑白】if not0:print("++++++++++")++++++++++

成员运算符

in:如果在指定的序列中找到值返回True,否则返回False

not in: 如果在指定的序列中没有找到值返回True,否则返回False

身份运算符

is:判断两个标志符是不是引用同一个对象

is not:判断两个标志符是不是引用不同的对象

运算符优先级

运算符优先级**

~ + -正负号(一元加减)* / % //

+ -

>> <<

&

~ |

<= < > >=

== !=

= %= += -= //=

is in not

in not in

and or not

if for while 语句

if 语句

格式:

if表达式:

语句...

逻辑:当程序执行到if语句时,首先计算“表达式”的值,如果“表达式”的值为真,那么执行if下的“语句”,如果“表达式”的值为假,则跳过整个if语句继续向下执行。

何为真假?

假:0 0.0 ''None False

真:除了假就是真

num5 = 10num6= 20

if num5 ==num6:

num5= 100

print("num5 =", num5)

num5= 10

--------------------------------num5= 20num6= 20

if num5 ==num6:

num5= 100

print("num5 =", num5)

num5= 100

if -else 语句

格式:

if表达式:

语句1else:

语句2

逻辑:当程序执行到if-else语句时,首先计算“表达式”的值,如果表达式的值为真,则执行 “语句1”。执行完“语句1”跳出整个if-else语句。如果“表达式”的值为假,则执行“语句2”。执行完“语句2”跳出整个if-else语句。

num =int(input())if num % 2 ==0:print("是偶数")else:print("是奇数")

if-elif-else 语句

格式:

if表达式1:

语句1elif表达式2:

语句2elif表达式3:

语句3

……elif表达式n:

语句nelse: #可有可无

语句e

逻辑:当程序执行到if-elif-else语句时,首先计算“表达式1”的值,如果“表达式1”的值为真,则执行“语句1”,执行完“语句1”,则跳过整个if-elif-else语句。如果“表达式1”的值为假,计算“表达式2”的值。如果“表达式2”的值为真,则执行“语句2”,执行完“语句2”,则跳过整个if-elif-else语句。如果“表达式2”的值为假,计算“表达式3”的值。如此下去直到某个表达式的值为真才停止,如果没有一个真的表达式,且有else,则执行“语句e”

age =int(input())if age <0:print("娘胎里")if age >=0 and age <= 3:print("婴儿")if age >=4 and age <= 6:print("儿童")if age >=7 and age <= 18:print("童年")if age >=19 and age <= 30:print("青年")if age >=31 and age <= 40:print("壮年")if age >=41 and age <= 50:print("中年")if age >=51 and age <= 100:print("老年")if age >=101 and age <= 150:print("老寿星")if age > 150:print("老妖怪")

for 循环语句

格式:

for 变量名 in集合:

语句

逻辑:按顺序取“集合”中的每个元素赋值给“变量”,在去执行语句。如此循环往复,直到取完“集合”中的元素截止

range([start,] end[, step])函数 列表生成器

start默认为0,step默认为1

功能呢:生成数列

a = range(10)print(a)

range(0,10)for x in range(10):print(x, end=" ")

01 2 3 4 5 6 7 8 9

for y in range(2, 20, 2):print(y, end=" ")2 4 6 8 10 12 14 16 18

同时遍历下标和元素

方法一:for index, m in enumerate([1,2,3,4,5]): #index, m = 下标,元素

print(index, m)

01

1 2

2 3

3 4

4 5方法二:

index=0for i in range(1,6):print(index, i)

index+= 101

1 2

2 3

3 4

4 5

while 循环语句

格式:

while表达式:

语句

逻辑:当程序执行到while语句时,首先计算“表达式”的值,如果“表达式”的值为假,那么结束整个while语句。如果“表达式”的值为真,则执行“语句”,执行完“语句”再去计算“表达式”的值。如果“表达式”的值为假,那么结束整个while语句。如果“表达式”的值还为真,则执行“语句”,执行完“语句”再去计算“表达式”的值。如此循环往复,知道表达式的值为假才停止。

while表达式:

语句1else:

语句2

逻辑:在条件语句(表达式)为False时执行else中的“语句2”

a= 1

while a <= 3:print("lee is a good man!")

a+= 1

else:print("very very good")print("you are right")

break 语句

作用:

跳出for和while的循环

注意:只能跳出距离他最近的那一层循环

for i in range(10):print(i)if i == 5:breaknum= 1

while 1 <= 10:print(num)if num == 3:breaknum+= 1

#注意:循环语句可以有else语句,break导致循环截止,不会执行else下面的语句

else:print("lee is a good man")

continuc 语句

作用:跳出当前循环中的剩余语句,然后继续下一次循环

注意:跳出距离最近的循环

for i in range(10):print(i)if i == 3:continue

print("*")print("&")

num=0while num < 10:print(num)if num == 3:

num+= 1

continue

print("*")print("&")

num+= 1

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值