python笔记

数据的存储

思考:使用计算机做什么?
存储数据、计算数据

思考:数据存在哪里?
数据存储在内存里

思考:数据怎么在内存中进行存储?
首先弄明白数字是怎么存储的
10 10.5
“sunck is a good man”

内存:
抽象:开关有两种状态,开启和关闭,一种状态对应1,另一种对应为0;把8个开关放进一个房间里,这个房间成为是一个字节。一个开关代表一位。
每个房间都有门牌号,看做地址。把无数个房间堆叠在一起可以看作是内存。

单位:bit
8bit1字节 1024字节1k 1024k==1M 1024M=1G 1024G=1T

内存中以二进制形式存储数据

二进制0 1 逢2进1
1+1=10
八进制:0-7
1+7=10
十进制:0-9
十六进制:0 1 2 3 4 5 6 7 8 9 A B C D E F
1+f=10
作用:内存地址用十六进制表示
十进制转二进制 除法 —>余数逆序

二进制转十进制:直接计算

八进制转二进制 —>八进制 三位二进制相当于一位八进制

十六进制转二进制------>四位二进制转一位十六进制

数据存储:计算机存储数据,先开辟内存空间,再存储数据,开辟的最小单位为字节,用最高位表示符号位,0为正,1为负

pycharm 新建文件 myworks–>鼠标右键–>new—>python file

原码、反码、补码
正数的原码反码补码一致
负数的反码:符号位不动,其余各位取反。
负数的补码为取反加1

负数时,其原码就是把负号改为1,其余不变。反码就是负号改为1,其余取反

python程序的结尾为.py

添加配置,file—>setting---->project(project interpreter)—>pip\setuptools

#表示注释,不执行该行
print输出函数,仅输出双引号内的内容

‘’'英文的单引号多个,表示注释多行
三个双引号也表示注释,同样的效果

ctrl+shift +F10 该快捷键表示执行所写程序
print函数的使用,可以用逗号隔离,都用双引号
print(“i love you”,“who are you”,“hello”)
print(18) print(10+8)结果一致 print(“10+8=”,18)

#input 作用:从外部获取变量的值
age=input(“请输入你的年龄”)
print(“age=”,age)
#等待输入(阻塞) 输入的数据保存在age中

python数据类型:
1、计算机顾名思义就是可以做数学运算的机器、可以处理视频、音频、图像、网页等数据
2、number包括:整数、浮点数(小数)、复数
3、字符串string "s"也是一个字符串 4、布尔值boolean (有的语言用ture和false)
5、none(空值) 6、list(列表) 7、tuple(元组) 8、dict(字典) 9、set(集合)

标识符:什么是标识符?一串字符串,字符串未必是标识符。规则:只能有字母、数字、下划线且开头不能是数字、不能使python的关键字

#查看python 的关键字
import keyword
print(keyword.kwlist)
打印结果为python的所有关键字
[‘False’, ‘None’, ‘True’, ‘and’, ‘as’, ‘assert’, ‘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’]
标识符区分大小写、见名知意(增加语言的可读)
标识符给变量函数命名。
注意:在python中非ASCII标识符也是允许的。 遵循驼峰原则(建议下划线和字母共同使用)如SunGoodMan

变量和常量:
变量:程序可操作的存储空间,程序运行期间可以改变的数据,每个变量都有特定的变量,将不同的类型的变量存入到内存中
变量的定义:变量名=初始值,初始值为了确定变量的类型 变量的赋值:变量=数据
num1=input(“请输入一个数字”)
num2=input(“请输入第二个数字:”)
print(“num1+num2=”,num1+num2);
该三行代码表示有歧义,应该为num1=int(input(“请输入一个数字”))这样运算结果才是正确的 int float型数据
删除变量:del 变量名 删除后变量无法使用
#查看变量的类型 int age age=18 age=“good” age为字符串类型 print(type(age))
#查看变量的地址 print(id(age))
num1=10 num2=3 num1=num2 num1=num2=num3 可以连续定义进行赋值
print(num1,num2,num3) num6,num7=6,7
常量:程序运行期间不能改变的数据

#数学功能
比如求绝对值 a1=-5 print(abs(a1))
逻辑取值 比较两个数的大小 print(“b5=”,(1>9)-(9>5)) 结果为b5=-1

求最大最小值print(min(1,2,2,5,4,88,5))
printf(max(45,78,45,4,2,1,5))
求x的y次方 2的5次方
print(pow(2,5))
#Round四舍五入
print(round(4.5))
print(round(3.5698,2))#代表小数点后两位 #round(x,n)n表示小数点后几位进行四舍五入

#导入库 库:封装一些功能 #math 表示数学库 import math
比如说print(math.ceil(15.2)) ##向上取整 结果为16
print(math.floor(15.6)) ##向下取整 结果为15
#返回整数部分和小数部分
print(math.modf(22.3))
print(math.sqrt(16)) 开方

#随机数 库为:random
1、print(random.choice([1,3,5,7,9])) ##从序列中随机取出一个数字
print(random.choice(range(5))) #range(5)==0,1,2,3,4共5个数字
print(random.choice(“sunck”)) 看[“s”,“u”,“n”,“c”,“k”]
#产生一个1-100的随机数 方法:r1=random(range(100))+1 print(r1)

#random.randrange[start,end,step] 包括start end
print(random.randrange(1,100,2)) 2为步长,一次加2
#从0-99中选取一个数字
print(random.randrange(100))

list=[1,2,3,4,5]
print(list)
#将list序列中的所有元素打乱 random.shuffle(list)

#随机生成3-9中的一个实数(整数或者小数)
print(random.uniform(3,9))

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

阅读表达式 功能:
算术运算符+ - * / % 求幂 //取整
print(num1+num2)
print(num1-num2)
print(num1*num2)
print(num1/num2)
print(num1
num2) ==pow(5,3)
print(num1//num2)
算术运算表达式 1+1 2*3 a/9 进行相关符号的数学运算,不会改变变量的值

先敲击三下,然后按下回车,注释多行的功能
赋值运算符 、赋值运算表达式 变量=表达式 计算右边表达式的值然后赋值给左边的变量

复合运算符+= -= *= /=等 a+=b a=a+b

if语句 :格式:
if 表达式: 注意:if语句之后存在一个空格
语句

当执行到if语句时,计算表达式的值,如果表达式的值为真,执行语句。假则不执行

if num1%2==0: 注意:if语句之后的空格 if和else下面的table键
print(“这是一个偶数”)

else:
print(“不是一个偶数”)

‘’’
位运算符:&与 |或 ^异或 ~按位取反 <<左移动 >>右移动
关系运算符:== != > < >= <=
关系运算表达式:
格式: 表达式1 关系运算符 表达式2
功能:计算表达式1的值和表达式2的值
值:如果整个关系运算符为真则结果为1,反之,假为0

‘’’
逻辑运算符:
逻辑与 and 逻辑与表达式:表达式1 and 表达式2
if语句表达式中不能出现赋值
逻辑或 or 表达式1 or 表达式2
逻辑非 not
逻辑非运算表达式:not 表达式 if not 表达式:
成员运算符:in 如果在指定的序列中找到值返回ture,否则返回False
not in:如果在指定的序列中没有找到值返回ture,否则返回False

身份运算符:
is:判断两个标识符是不是引用同一个对象
is not:判断两个标识符是不是引用不同的对象

运算符优先级:
**幂

  • / % //乘除取余
  • -加减法
    <= < > >=比较运算符
    == !=等于运算符
    **= %= *= /= //= -= += =赋值运算符
    not or and 逻辑运算符
    注意:同级运算符自左向右计算,可以使()调整运算符的优先级

字符串改为全部大写或全部小写,可以
name = “Ada Lovelace”
print(str_name.upper())
print(str_name.lower())
#str_name.swapcase() 大写变小写,小写变大写
#str_name.capitalize() 只有首字母大写,其余的小写
str_name.title() 每个单词的首字母大写
#center(width,fillchar)
str32=“dou tama shadiao”
print(str32.center(40,"*")) 40个字符,其中str32位于中间,其余字符由fillchar填充
name = “ada lovelace”
print(name.title())
str_name.ljust(width,fillchar)

合并拼接字符串:Python用加号( +)来合并字符串。用+来合并first_name、空格和last_name
first_name = “ada”
last_name = “lovelace”
full_name = first_name + " " + last_name
message = "Hello, " + full_name.title() + “!”
print(message)
仅仅在字符串的打印操作中,才可以使用,且在双引号内才可以使用。\n换行符 \t table键
删除空白:变量.rstrip() 消后面的空格 变量.lstrip() 消前面的空格 变量.strip() 前后空格消除
常见错误:单引号括起的字符串中,如果包含撇号,就将导致错误

在输出时,数字输出出现问题时,可以使用字符str(age),把数字认为字符串输出,用+链接

input()默认接受str型,可以用int()、float等数据类型进行转换

prin(value1,value2,…,sep’’,end=’\n’,file=sys.stdout,flush=False)

eval(‘a+2’) eval()函数剥离字符串进行运算操作
eval将字符串当做有效的表达式求值,并返回运算的结果
不同进制之间的转换 int() 十进制bin() 二进制oct() 8进制hex() 16进制

int(“111”,6) 隐含进制为六进制 结果为43
1.2e3=1200
complex()用于生成复数 complex(3,5) 结果为3+5j 也可表示为complex(‘3+5j’)
asb()取模 divmod()同时计算两个数字的整数商和余数 pow()计算幂

divmod(8,5) 商为1,余数为3
in not in
is 是 is not 不是
a&b取a,b的交集
a|b取a,b的并集
a-b为去掉b有的a也有的剩余a的元素
a^b为a,b的并集,去除a,b的交集

反斜杠:如果字符串需要进行续行处理可用“\”
str02=“python”
str02[1:5:2] #表示从第一个字符开始到5-1个字符结束,每隔2个字符取一次
‘yh’
str01.index(“A”)#可以知道A在str01中的第几个位置

chr(49) 1 char(65) A
ord(65) A ord(49) 1
字符串中的元素不能通过赋值进行改变

~5 0000 0101为5 ~5=1111 1010 取补码 10000101 —>1000 0110

print(“num=%d,str3=%s” %(num,str3)) print(“num=%d\nstr3=%s\nf=%f\n” %(num,str3,f))
转意字符\ 转换为一些特殊含义的字符
’ 和 "
print(’’’
good
nice
handsome
‘’’) #直接打印三行输出 \t制表符
#如果字符中很多字符需要转义,需多个\转义,为简化,python默认使用r表示内部的字符串不转义

str=“cnaonciaoecfonc a”
print(len(str)) 字符串长度 可以用作循环处理

你可能感兴趣的:(Python语言)