Python变量;数据类型;随机数random;类型转换;注释

一、二进制与字符编码

1.1、计算机为什么能够认识我?

它只认识0和1,根本不认识我,早期的程序员爸爸为了让计算机能够认识我,将我能够认识的符号和数字对应好,然后做成一张表叫ASCII表,告诉计算机某种符号你应该使用哪个整数表示,’A’使用了8个位(置)才能装得下我,在计算机中他们叫一个字节

print(chr(0b100111001011000))  #乘
print(ord('乘'))               #20056

1.2、字符编码类型

f571662e0c7642adb982ec97a2da25c8.png

1.3、将指定的十进制数转换成二进制、八进制、十六进制 

def fun():
    num=int(input('请输入一个十进制的整数')) #将str类型转换成int类型
    print(num,'的二进制数为:',bin(num)) #第一种写法 ,使用了个数可变的位置参数
    print(str(num)+'的二进制数为:'+bin(num)) #第二种写法,使用"+"作为连接符  (+的左右均为str类型)
    print('%s的二进制数为:%s' % (num,bin(num))) #第三种写法,格式化字符串
    print('{0}的二进制数为:{1}'.format(num,bin(num))) #第三种写法,格式化字符串
    print(f'{num}的二进制数为:{bin(num)}') #第三种写法,格式化字符串
    print('-------------------------------------------------')
    print(f'{num}的八进制数为:{oct(num)}')
    print(f'{num}的十六进制数为:{hex(num)}')

if __name__ == '__main__':
    while True:
        try:
            fun()
            break
        except:
            print('只能输入整数!,程序出错,请重新输入')

二、Python中的标识符和保留字

2.1、保留字

有一些单词被我赋予了特定的意义,这些单词你在给你的任何对象起名字的时候都不能用

import  keyword
print(keyword.kwlist)

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

2.2、标识符及其规则

2.2.1标识符:

变量、函数、类、模块和其它对象的起的名字就叫标识符

2.2.2标识符规则:

1、可以是字母、数字、下划线_

2、不能以数字开头

3、不能是我的保留字

4、严格区分大小写的


三、变量的定义和使用

925b8343bc134872917a76505c1346b4.png

3.1、变量

变量就像一个带标签的盒子,你把需要的数据放进去

3.2、变量由三部分组成

1、标识:表示对象所存储的内存地址,使用内置函数id(obj)来获取

2、类型:表示的是对象的数据类型,使用内置函数type(obj)来获取

3、值:表示对象所存储的具体数据,使用print(obj)可以将值进行打印输出

name='马丽亚'
print(name)
print('标识',id(name))
print('类型',type(name))
print('值',name)

ecff9c670363491b90b917172051ef14.png

3.3、当多次赋值之后,变量名会指向新的空间

name='马丽亚'
print(name)
name='楚溜冰'
print(name)

250cdc970e3e4be89172e21473f006f5.png


四、随机数random

1、random.random()

返回随机生成的一个浮点数,范围在[0,1)之间

import random
print(random.random())

2、random.uniform(a, b)

返回随机生成的一个浮点数,范围在[a, b)之间

import random
print(random.uniform(1,5))

3、random.randint(a,b)

生成指定范围内的整数 

import random
print(random.randint(1,10))

4、random.randrange([start],stop[,step])

用于从指定范围内按指定基数递增的集合中获取一个随机数。 

import random
print(random.randrange(10,22,3))

5、random.choice()

从指定的序列中获取一个随机元素

import random
print(random.choice('学习python'))   # 从字符串中随机取一个字符
print(random.choice(['good', 'hello', 'is', 'hi', 'boy']))   # 从list列表中随机取
print(random.choice(('str', 'tuple', 'list')))   # 从tuple元组中随机取

6、random.shuffle(x[,random])

用于将一个列表中的元素打乱,随机排序

import random
p=['hehe','xixi','heihei','haha','zhizhi','lala','momo..da']
random.shuffle(p)
print(p)
x = [1, 2, 3, 4, 5]
random.shuffle(x)
print(x)

7、random.sample(sequence,k)

用于从指定序列中随机获取指定长度的片段,sample()函数不会修改原有序列。

import random
list1=[1,2,3,4,5,6,7,8,9,10]
slice=random.sample(list1,5)
print(slice)
#[8, 3, 5, 9, 10]
print(list1)
#[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
x = random.sample(range(0, 10), 5)
print(x, type(x))
#[9, 2, 7, 8, 6] <class 'list'>
Words = "AppleKMedoide"
print(random.sample(Words, 3))
#['p', 'M', 'A']
print(random.sample(Words, 3))
#['d', 'i', 'l']

五、数据类型

5.1、常用的数据类型

整数类型:int——98……    

浮点数类型:float:3.14159……

布尔类型:bool——True ,False

字符串类型:str——人生苦短,我用Python’……

5.2、整数类型

1、英文为integer,简写为int,可以表示正数、负数和零

2、整数的不同进制表示方式

十进制:默认的进制

二进制:以0b开头

八进制:以0o开头

十六进制:0x开头

n1=90
n2=-76
n3=0
print(n1,type(n1))
print(n2,type(n2))
print(n3,type(n3))
#整数可以表示为二进制,十进制,八进制,十六进制
print('十进制',118)
print('二进制',0b10101111)  #二进制以0b开头
print('八进制',0o176)   #八进制以0o开头
print('十六进制',0x1EAF)

5.3、浮点类型

1、浮点数整数部分和小数部分组成

2、浮点数存储不精确性

1)使用浮点数进行计算时,可能会出现小数位数不确定的情况

print(1.1+2.2) #3.3000000000000003
print(1.1+2.1) #3.2

2)解决方案

导入模块decimal

from decimal import Decimal
print(Decimal('1.1')+Decimal('2.2')) # 3.3

5.4、布尔类型

1、用来表示真或假的值

2、True表示真,False表示假

f1=True
f2=False
print(f1,type(f1))
print(f2,type(f2))

3、布尔值可以转化为整数 :True-->1;False-->0

print(f1+1)  #2     1+1的结果为2  True表示1
print(f2+1)  #1     0+1的结果为1,False表示0

 5.5、字符串类型

1、字符串又被称为不可变的字符序列

2、可以使用单引号’’ 双引号”” 三引号’’’  ’’’ 或””” ”””来定义

3、单引号和双引号定义的字符串必须在一行

4、三引号定义的字符串可以分布在连续的多行

str1='人生苦短,我用Python'
str2="人生苦短,我用Python"
str3="""人生苦短,
我用Python"""
str4='''人生苦短,
我用Python'''
print(str1,type(str1))
print(str2,type(str2))
print(str3,type(str3))
print(str4,type(str4))

注意:

如果是两个字符串做加法运算,会直接把这两个字符串拼接成一个字符串。
如果是数字和字符串做加法运算,会直接报错。

如果是数字和字符串做乘法运算,会将这个字符串重复多次。

字符串详细:Python字符串介绍https://blog.youkuaiyun.com/Good_Starry/article/details/140594602


六、数据类型转换

6.1、为什么需要数据类型转换?

6.1.1、目的:

将不同数据类型的数据拼接在一起

6.1.2、数据类型转换函数

a3d273c56a8a41a2a5d8a4e3066038a2.png

6cec36f1feda4c79b016fabb34472bf7.png

6.2、例子 

name='张三'
age=20
print(type(name),type(age)) #说明name与age的数据类型不相同
#print('我叫'+name+'今年,'+age+'岁')  
#当将str类型与int类型进行连接时,报错,解决方案,类型转换
print('我叫'+name+'今年,'+str(age)+'岁')    #将int类型通过str()函数转成了str类型

6.2.1、str()将其它类型转成str类型

a=10
b=198.8
c=False
print(type(a),type(b),type(c))
print(str(a),str(b),str(c),type(str(a)),type(str(b)),type(str(c)))

6.2.2、int()将其它的类型转int类型 

s1='128'
f1=98.7
s2='76.77'
ff=True
s3='hello'
print(type(s1),type(f1),type(s2),type(ff),type(s3))
print(int(s1),type(int(s1)))   #将str转成int类型 ,字符串为 数字串
print(int(f1),type(int(f1)))   #float转成int类型,截取整数部分,舍掉小数部分
#print(int(s2),type(int(s2)))  
#将str转成int类型,报错,因为字符串为小数串
print(int(ff),type(int(ff)))
#print(int(s3),type(int(s3)))  
#将str转成int类型时,字符串必须为数字串(整数),非数字串是不允许转换

6.2.3、float()函数,将其它数据类型转成float类型

s1='128.98'
s2='76'
ff=True
s3='hello'
i=98
print(type(s1),type(s2),type(ff),type(s3),type(i))
print(float(s1),type(float(s1)))
print(float(s2),type(float(s2)))
print(float(ff),type(float(ff)))
#print(float(s3),type(float(s3))) 
#字符串中的数据如果是非数字串,则不允许转换
print(float(i),type(float(i)))

 6.2.3、chr()函数,将整数转成对应ASCII字符

# 循环输出26个字母对应的ASCII码值
x=97 #代表的是a的ASCII值
for _ in range(1,27):
    print(chr(x),'--->',x)
    x+=1

print('-----------------')
x=97
while x<123:
    print(chr(x),'-->',x)
    x+=1
# 编码和字符的转换
print(ord('a'),ord('b'))
print(ord('杨'))
 
print(chr(97),chr(98))
print(chr(26472))

七、Python中的注释

1、在代码中对代码的功能进行解释说明的标注性文字,可以提高代码的可读性2、注释的内容会被

2、Python解释器忽略

3、通常包括三种类型的注释

1)单行注释:以”#”开头,直到换行结束

2)多行注释:并没有单独的多行注释标记,将一对三引号之间的代码称为多行注释

3)中文编码声明注释:在文件开头加上中文声明注释,用以指定源码文件的编码格式

#单行注释
'''嘿嘿,
我是
多行注释'''

注:

Python 3 源码文件以 UTF-8 编码,所有字符串都是 unicode 字符串。 当然你也可以为源码文件指定不同的编码:

# coding:gbk
# 指定源码文件以gbk进行存储
# 写在开头

评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值