Python的零基础内容(一)

day01 python的基础语法

print的使用

会输出自己想要输出的内容,和要计算的表达式内容

例如:

print(450)
print('hello')
print('\n')#转义字符\,包括\n,\t,\b,\',\"
print(r'使转义字\n符失效')#r或R
print('234','578')#中间的,号输出时会变成空格。
name='hello'
print('标识',id(name))
print('类型',type(name))
print('值',name)#中间会有空格
print('hello'+'world')# +号为拼接符和java中的不同,中间无空格
print('hello'+123)#此代码错误,字符串无法和整数链接需要将整数变成字符串
print('hello'+str(123))
print("不换行输出",end='')#end是添加什么内容

二进制

8bit–1个字节byte(B)

1024byte=1kB 千兆吉太

1024KB=1MB,1024MB=1GB,1024GB=1TB,

中国字符ASCII–GB2313–GBK–GB18030,UTF-8统一标准英文用一个字节,中文用三个字节

Python的标识符和保留字

保留字

['False', 'None', 'True', 'and', 'as', 'assert', 'async', 'await', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']

标识符

对类,函数,变量,模块。

规则:字母数字下滑线组成,不能以数字开头,严格区分大小写。

变量的使用

不像c语言一样根据类型定义。他是名字和右边具体组成

变量包括标识内存地址利用id(obj)),类型(数据类型,内置函数用type(obj)来获取)(print来获取)三部分。

name='hello'
name='world'
#多次赋值的变量的值为最新的空间。旧空间将会废弃。

数据类型

int, float,bool(ture,false),str(字符串,单引号或双引号均可。)

int (integer)默认为十进制,二进制要前面写0b开头例如0b10101,八进制前要以0o开头0o327,十六进制要以0x开头0x1E.

float 存储不精确,可能出现小数不确定的情况。1.1+2.2出现错误

  • 解决办法:导入decimal模块。

  • from decimal import Decimal
    print(Decimal('1.1')+Decimal('2.2'))
    

bool可以转成整数进行计算,ture为1,false为0

str 为字符串类型,不可变的字符序列,可以用‘ ’,” “,""" “”"来定义。单引号和双引号定义必须在一行。三引号定义的字符串可以分布在连续的多行。

name='hello'
name="helloworld"
name="""hellos  
world"""

类型转换

不同类型拼接时需要用到类型转换

函数转换无法强制转换。

#三种函数转换
1str(),将其他类型转为字符串
2int(),将其他类型转为整数,floatint仅截取整数部分,舍掉小数部分。#只能转str为数字串的‘123’可以,但‘12.5’小数串不可以
3float(),将其他类型转为浮点数,文字类的str无法转化,‘12.0’可以变成12.0。整数转化为float会加入.0

以上转换都是假转化,仅在使用时是其转化类型,但变量本身的类型没有变化

注释

  1. 单行注释
  2. 多行注释 三引号之间的均可,”“” “”“,‘’‘ ’’‘
  3. 中文编码声明注释 #coding:gbk

输入input

输入的类型以str存储,赋值给某个名字。可以直接在输入时完场转化,str转化成int。

present=input('提示信息')
you=input('请输入你的名字')
you=int(input('输入'))

运算符

算关逻运算符

算数运算符

**+,-,*,/,%**取余,******幂次运算的结果。/和c语言不同,他可以1/2=0.5.他没有类型限制的计算。整除需要用两个//,1//2=0;

2**3为2的3次方。

注意点:一正一负如何计算,**整除时//,是向下取整。**9//-4=-3,9/-4=-2.2,向下取整为-3。取余时9%-4=-3,-9%4=3. 余数=被除数-除数*商 9-(-4)*(-3)=-3, -9-4*(-3)=3

赋值运算符,运算顺序从右往左。

  1. 支持链式赋值 a=b=c=20,c语言在定义时不允许如此定义,abc都是引用名,20仅一个空间
  2. 支持参数赋值 +=,-=,*=,/=,//=,%= q+=20–》 q=q+20;
  3. 支持系列解包赋值 a,b,c=10,20,30

关系(比较)运算符

<,>,<=,>=,!=,==,is,is not

比较运算符的运算结果为bool(Ture和False)

一个=为赋值,==为比较,比较的是两个值的value值是否相等,***比较标识是is***比较的是地址是否相同

a=10
b=10
print(a==b)#ture
print(a is b)#ture
print(a is not b)#false

10值会存在一个地址,你改变b不会改变a的值

list1=[11,22,33,44]
list2=[11,22,33,44]
print(list1=list2)#value--ture
print(list1 is list2)#id--false

逻辑运算符(bool运算符)

and,or,not,in,not in。

与或非,运算符两端是为bool值,结果也是bool,可以是bool变量也可以是关系表达式,逻辑表达式。

name='hello,world'
print('w' in name)
print('a' not in s)#元素是否存在在集合中!

位运算符

按位与,或,左移,右移

&,|,<<,>>

数字按照二进制来计算。左移一位乘以2,右移一位除以2

优先级

  1. 算数运算 ** > * / >+ -
  2. 位运算 左右移位 > & > |
  3. 关系运算(比较) (和c不同)
  4. 逻辑运算 (bool) and>or
  5. 赋值 =

程序的组织结构

  1. 顺序结构
  2. 选择结构 if
  3. 循环结构 while for-in

python一切皆对象bool函数

所有的对象都有一个布尔值,获取对象的布尔值 :使用内置函数 bool()

bool值为False:

  1. Flase print(bool(Flase))
  2. 数值0 print(bool(0))
  3. None print(bool(None))
  4. 空字符串 print(bool(''))
  5. 空列表 print(bool([]))``print(bool(list()))
  6. 空元组 print(bool(()))``print(bool(tuple()))
  7. 空字典 print(bool({}))``print(bool(dict()))
  8. 空集合 print(bool(set()))

除以上以外对象的bool值为Ture

基础语法选择与循环

单分支结构if语句

money=10000
s=int(input(输入取款金额))
if money>=s:
   money-=s
   print('取款成功,余额为:',money)

注意python有严重的对齐要求,代码的缩进表示语句的结构

双分支结构if-else

s=int(input('输入判定整数:'))
if s%2==0:
    print('该数为偶数!')
else:
    print('奇数!')

多分支结构if-elif-else

s=int(input('输入你的成绩:'))
if s>100:
    print("你的成绩无效")
elif s>=90:
    print("你的成绩为A")
elif s>=80:
    print("你的成绩为B")
elif s>=70:
    print("你的成绩为C")
elif s>=60:
    print("你的成绩为D")
else:
    print("成绩不合格")

python中允许使用60<=s<=70

条件表达式 X if 条件 else Y

a=int(input("a=:"))
b=int(input("b=:"))
print(a,'大于',b)
print((a,'大于等于',b) if a>=b else (a,'小于',b))

几乎没啥用,判断结果为Ture执行if前面内容,判断结果为Flase执行else后面内容

pass语句用于框架设计

什么都不做仅用于占位符,用到需要写语句的地方

a=10
if a<10:
    pass
else:
    pass

内置函数range序列

不需要进行添加类库,就可以直接使用的函数

print()
input()
int()
str()
float()
range()

以上均为内置函数

range() 用于生成一个整数序列,返回值是一个迭代器对象

创建range对象的三种方式:

#1、range(stop)创建一个[0,stop)之间的整数序列,步长为1
r=range(10)
print(r)  #输出:range(0, 10)
print(list(r))#list()为列表   结果为【1,2,3,4,5,6,7,8,9】
#2、range(start,stop)创建一个[start,stop)的整数序列,步长为1
r=range(2,10)
print(list(r)) #结果为:【2,3,4,5,6,7,8,9】
#3、range(start,stop,step)创建一个[start,stop)之间的整数序列步长为step
r=range(2,10,2)
print(list(r))#结果为:【2, 4, 6, 8】

所有的range对象都是相同的,因为仅仅需要存储start,stop,step。只有在用到range对象时,才会去计算序列中相关元素。

循环结构

while循环

while语句,满足条件则执行,不满足则跳出

while 条件表达式:

条件执行体

0-4的加和

sum=0#初始化变量
count=0
while count<5:#循环条件判定
    sum+=count#循环执行
    count+=1#循环变量增加
print(sum)

计算1-100之间的偶数和

sum=0
count=0
while count<101:
    sum+=count
    count+=2
print('100之内的偶数和为:'+str(sum))
for-in循环

in是从字符串或序列中依次取值,又称为遍历。for-in 遍历的对象必须是可迭代对象。range()可以产生一个可迭代对象条件为可迭代对象还有吗?有执行没有跳出。迭代对象有:字符串,序列,元组,字典

for 自定义语句 in 可迭代对象:

循环体

for item in 'python':#依次取出赋值给item
    print(item)#可换行输出

题目:0-100的偶数和,range()可以产生一个整数的可迭代对象

sum=0
for i in range(0,101,2):
	sum+=i
print(sum)

如果在循环体中不需要使用自定义变量,可将自定义变量写为“_”

for _ in range(10):
    print('hello!')

题目:输出100-999之间的水仙花数--------水仙花数:153=13+53+3^3

for i in range(100,1000):
    if ((i//100)**3+((i%100)//10)**3+(i%10)**3)==i:
        print(str(i)+'为水仙花数')
break

用于提前结束循环结构,通常与分支if一起使用,循环本身有一个条件,满足时运行,不满足时跳出。但如果想要在中途面临一种情况时对其跳出循环处理用break来操作!

题目:输入密码可以一天输入5次,某次成功就可以跳出

count=0
while count<5:
    count+=1
    password=input('输入你的密码:')
    if password=='88888888':
        break
    else:
        print('密码输入错误!')
if count==5:
    print("此卡已锁死!")
else:
    print('密码正确请选择后续服务')
continue

跳过此次循环,此次循环continue语句一下的语句不在执行,进入下次循环。

题目:输出1-50之间所有5的倍数,使用continue

for i in range(1,51):
    if i%5:
        continue
    print(i,'为5的倍数!')
else

可以和if结合执行非黑即白的语句

while-else和for-else语句 没有碰到break时执行else,不是特殊的跳出,而是正常的跳出! 意味着官方给加了一个循环条件全部执行完后应该做的操作。

count=0
while count<5:
    count+=1
    password=input('输入你的密码:')
    if password=='88888888':
        break
    else:
        print('密码输入错误!')
else: print('此卡已经锁死')

嵌套循环

for i in range(3):
    for j in range(4):
        print(i,j,end='  ')
    print()

题目打印乘法表:

for i in range(1,10):
    for j in range(1,i+1):
        print(str(j)+'*'+str(i)+'='+str(i*j),end='\t')
    print()
break和continue

仅跳出本层循环的使用!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值