Python入门 数字类型和字符串类型

 

Python

执行Python程序

1先启动Python解释器

2Python解释器像文本编辑器一样将文件内容从硬盘读入内存

3Python解释器解释执行文件代码

强调:只有第三个阶段才识别Python的语法

变量

什么是变量

变量即变化的量,核心是“变”与“量”二字,变即变化,量即衡量状态。

为什么要有变量

程序执行本质是一系列状态的变化,变是程序执行的直接的体现,所以我们需要一种机制能反应或保存程序执行时状态及状态变化

如何定义变量

变量名(相当于门牌,指向内存地址),引用变量值

等号,赋值

变量值:存放的数据

name='han'

sex='male'

变量的定义规范

#1. 变量名只能是 字母、数字或下划线的任意组合
#2. 变量名的第一个字符不能是数字
#3. 关键字不能声明为变量名['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 = 56 
NumberOfStudents = 80
#下划线(推荐使用)
age_of_oldboy = 56 
number_of_students = 80

定义变量名不好的方式

#1. 变量名为中文、拼音
#2. 变量名过长
#3. 变量名词不达意
#1 等号比较的是value,
#2 is比较的是id

#强调:
#1. id相同,意味着type和value必定相同
#2. value相同type肯定相同,但id可能不同,如下
>>> x='Info Egon:18'
>>> y='Info Egon:18'
>>> id(x)
>>> id(y)
>>> 
>>> x == y
True
>>> x is y
False

 定义变量的三个特征:id type value

ID相等,值一定相等

值相等,id不一定相等

常量

常量即指不变的量,如pai 3.141592653..., 或在程序运行过程中不会改变的量
在Python中没有一个专门的语法代表常量,程序员约定俗成用变量名全部大写代表常量
#ps:在c语言中有专门的常量定义语法,const int count = 60;一旦定义为常量,更改即会报错

Python内存管理

引用计数

引用计数为0,会被Python回收

用户交互

Python3 

input()用户输入任何值都是字符串

注释

单行注释 #

多行注释 """ """   ,    ''' '''

文件头

#!/usr/bin/env python

#-*- coding: utf-8 -*-

基本数据类型

 什么是数据?为何要有多种类型的数据?

#数据即变量的值,如age=18,18则是我们保存的数据。
#变量的是用来反映/保持状态以及状态变化的,毫无疑问针对不同的状态就应该用不同类型的数据去标识

数字

int整形

float浮点型

字符串

在Python中,加了引号的字符就是字符串型,Python没有字符型

name="han"

#数字可以进行加减乘除等运算,字符串呢?让我大声告诉你,也能?what ?是的,但只能进行"相加"和"相乘"运算。
>>> name='egon'
>>> age='18'
>>> name+age #相加其实就是简单拼接
'egon18'
>>> name*5 
'egonegonegonegonegon'
#注意1:字符串相加的效率不高
字符串1+字符串3,并不会在字符串1的基础上加字符串2,而是申请一个全新的内存空间存入字符串1和字符串3,相当字符串1与字符串3的空间被复制了一次,

#注意2:只能字符串加字符串,不能字符串加其他类型
 
 

列表

在[]内用逗号隔开,可以存放任意类型的值

student=['li','wu','yan']

字典

{}内用逗号隔开,可以存放多个key:value的值,value可以事任意类型

info={'name'':'han','age':20,'gender':'male'}

布尔值

True False

布尔类型的重点知识!!!:

#所有数据类型都自带布尔值
1、None,0,空(空字符串,空列表,空字典等)三种情况下布尔值为False
2、其余均为真

重点

#1.可变类型:在id不变的情况下,value可以变,则称为可变类型,如列表,字典

#2. 不可变类型:value一旦改变,id也改变,则称为不可变类型(id变,意味着创建了新的内存空间) 

格式化输出

#%s字符串占位:可以接受字符串,也可接受数字

print('My name is %s,my age is %s'%('han',18)) 

 

#%d数字占位符:只能接受数字

print('My name is %s,my age is %d'%("han",18))

 基本运算符

  算数运算

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

 比较运算

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

 赋值运算

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

 逻辑运算

 

>>> True or Flase and False
True
>>> (True or Flase) and False
False

流程控制之if...else

if 条件1:

  pass

elif 条件2:

  pass

else:

  pass

流程控制之while循环

条件循环:while,语法如下

while 条件:    
    # 循环体
 
    # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件。。。
    # 如果条件为假,那么循环体不执行,循环终止
#练习,要求如下:
    1 循环验证用户输入的用户名与密码
    2 认证通过后,运行用户重复执行命令
    3 当用户输入命令为quit时,则退出整个程序 
#实现一:
name='egon'
password='123'

while True:
    inp_name=input('用户名: ')
    inp_pwd=input('密码: ')
    if inp_name == name and inp_pwd == password:
        while True: cmd=input('>>: ') if not cmd:continue if cmd == 'quit': break print('run <%s>' %cmd) else: print('用户名或密码错误') continue break #实现二:使用tag name='egon' password='123' tag=True while tag: inp_name=input('用户名: ') inp_pwd=input('密码: ') if inp_name == name and inp_pwd == password: while tag: cmd=input('>>: ') if not cmd:continue if cmd == 'quit': tag=False continue print('run <%s>' %cmd) else: print('用户名或密码错误')

break与continue

#break用于退出本层循环
while True:
    print "123"
    break
    print "456"

#continue用于退出本次循环,继续下一次循环
while True:
    print "123"
    continue
    print "456"

while+else

#与其它语言else 一般只与if 搭配不同,在Python 中还有个while ...else 语句,while 后面的else 作用是指,当while 循环正常执行完,中间没有被break 中止的话,就会执行else后面的语句
count = 0
while count <= 5 :
    count += 1
    print("Loop",count)

else:
    print("循环正常执行完啦")
print("-----out of while loop ------") 输出 Loop 1 Loop 2 Loop 3 Loop 4 Loop 5 Loop 6 循环正常执行完啦 -----out of while loop ------ #如果执行过程中被break啦,就不会执行else的语句啦 count = 0 while count <= 5 : count += 1 if count == 3:break print("Loop",count) else: print("循环正常执行完啦") print("-----out of while loop ------") 输出 Loop 1 Loop 2 -----out of while loop ------
#8:猜年龄游戏升级版 
要求:
    允许用户最多尝试3次
    每尝试3次后,如果还没猜对,就问用户是否还想继续玩,如果回答Y或y, 就继续让其猜3次,以此往复,如果回答N或n,就退出程序
    如何猜对了,就直接退出 
#题目八
age_of_oldboy=73

count=0
while True:
    if count == 3:
        choice=input('继续(Y/N?)>>: ')
        if choice == 'Y' or choice == 'y': count=0 else: break guess=int(input('>>: ')) if guess == age_of_oldboy: print('you got it') break count+=1

流程控制之for循环

迭代式循环:for,语法如下

 

for i in range(10):

    pass

循环嵌套

九九乘法表
金字塔

for+else 

for i in range(10):
    pass
else:
    pass

数字类型和字符串类型

1.bin()函数将十进制转换成而进制

2.oct()函数将十进制转换成八进制

3.hex()函数将十进制转换成十六进制     

    十六进制表示:0-9 a b c d e f

4.数字类型的特性:    

    只能存放一个值  

    一经定义,不可更改

     直接访问

分类:整型,布尔,浮点,复数

5.字符串类型  

  引号包含的都是字符串类型

    S1='hello world'  s="hello world"

    s2="""hello world"""  

    s3='''hello world'''  

  单引双引没有区别

6.字符串的常用操作  

  strip()移除空白,也可以去除其他的字符  

  slipt()分割,默认以空格分割。也可以以其他的字符分割  

  len()长度  切片:如print(x[1:3])也是顾头不顾尾   

            print(x[0:5:2])#0 2 4

  capitalize()首字母大写

   center()居中显示例如:x='hello'  print(x.center(30,'#'))

   count():计数,顾头不顾尾,统计某个字符的个数,空格也算一个字符  

  endswith()以什么结尾

   satrtswith()以什么开头

   find()查找字符的索引位置,如果是负数,代表查找失败   

  index()索引  

  find()和index()的区别,如下图:

      

  format()字符串格式化    

     1.msg='name:{},age:{},sex:{}'           

        print(msg.format('haiyan',18,女))  

      2.msg='name:{0},age:{1},sex:{0}'     

     print(msg.format('aaaaaa','bbbbbb'))    

    3.msg='name:{x},age:{y,sex:{z}'     

     print(msg.format(x='haiyan',y='18',z='女'))  

  isdigit()判断是否是数字

   islower()判断是否是全部小写

   isupper()判断是否是全部大写

   lower()全部转换为小写

   upper()全部转换为大写

   isspace()判断是否是全都是空格

   istitle()判断是否是标题(首字母大写)  

  swapcase()大小写字母翻转

   join()连接

   repalce()替换   

     msg='hello alex'   

     print(msg.replace('e'),'A',1)  

     print(msg.replace('e'),'A',2)

   ljust()左对齐   

     X='ABC'    print(x.ljust(10,'*'))Python入门

1.bin()函数将十进制转换成而进制

2.oct()函数将十进制转换成八进制

3.hex()函数将十进制转换成十六进制     

    十六进制表示:0-9 a b c d e f

4.数字类型的特性:    

    只能存放一个值  

    一经定义,不可更改

     直接访问

分类:整型,布尔,浮点,复数

5.字符串类型  

  引号包含的都是字符串类型

    S1='hello world'  s="hello world"

    s2="""hello world"""  

    s3='''hello world'''  

  单引双引没有区别

6.字符串的常用操作  

  strip()移除空白,也可以去除其他的字符  

  slipt()分割,默认以空格分割。也可以以其他的字符分割  

  len()长度  切片:如print(x[1:3])也是顾头不顾尾   

            print(x[0:5:2])#0 2 4

  capitalize()首字母大写

   center()居中显示例如:x='hello'  print(x.center(30,'#'))

   count():计数,顾头不顾尾,统计某个字符的个数,空格也算一个字符  

  endswith()以什么结尾

   satrtswith()以什么开头

   find()查找字符的索引位置,如果是负数,代表查找失败   

  index()索引  

  find()和index()的区别,如下图:

      

  format()字符串格式化    

     1.msg='name:{},age:{},sex:{}'           

        print(msg.format('haiyan',18,女))  

      2.msg='name:{0},age:{1},sex:{0}'     

     print(msg.format('aaaaaa','bbbbbb'))    

    3.msg='name:{x},age:{y,sex:{z}'     

     print(msg.format(x='haiyan',y='18',z='女'))  

  isdigit()判断是否是数字

   islower()判断是否是全部小写

   isupper()判断是否是全部大写

   lower()全部转换为小写

   upper()全部转换为大写

   isspace()判断是否是全都是空格

   istitle()判断是否是标题(首字母大写)  

  swapcase()大小写字母翻转

   join()连接

   repalce()替换   

     msg='hello alex'   

     print(msg.replace('e'),'A',1)  

     print(msg.replace('e'),'A',2)

   ljust()左对齐   

     X='ABC'    print(x.ljust(10,'*'))Python入门

猜你喜欢

转载自www.cnblogs.com/hanbowen/p/9111760.html
今日推荐