Python基础笔记一

admin 2024-05-19 745 阅读 0评论
#coding=utf-8   中文声明注释
# IPO编程方式  分别是:Input指的是输入、Process 指的是处理、Output指的是输出
'''
#输出函数 print
print('输出内容')
#print()函数完整的语法格式
#print(value,...,sep='',end='\n',file=None)
# sep 分割符, end 结束符 , file 把内容输出到文件当中
print('中国', end='--->')
print('|----------')
#输出 ASCII 码所对应的字符  chr 函数
print(chr(98))
#输出 字符对应的 ASCII 码  ord 函数
print(ord('b'))
#将内容输出到文件
fp=open('note.txt', 'w')  #打开文件 w--》write
print('北京欢迎您!', file=fp) #将 "北京欢迎您" 输出(写入)到note.txt文件中
fp.close() #关闭文件
#连接符 (+) 只能连接字符
print('中国'+'123')
#基本的输入函数 input
#inp =input('请输入数字:')
#得到的数字内容为字符串可以用 + 作为连接符连接
#print('得到数字:'+inp)
#inp=int(inp)
#转成整数类型不能再用 + 连接
#print('得到数字:', inp)
'''

# 单行注释用 # 号
'''
多行注释一
注释内容
123456
英文输入下
'''
"""
多行注释二
中文档注释,必需写在文档的第一行
例如: #coding=utf-8
"""

# 一般代码  不需要缩进
'''
示例:
print('hello')
print('world')
'''

# 类的定义 自动缩进
'''
示例:
class Student:
    pass

# 函数的定义  自动缩进
def fun():
    pass
'''


# 查看保留字 区分大小写
# 引入内置模块
import keyword
'''
示例:
# 打印保留字
print(keyword.kwlist)
# 打印保留字个数
print(len(keyword.kwlist))

# 变量的定义和使用
luck_number=8  # 创建一个整型变量luck_number,并为其赋值为8
my_name = '张三' # 字符串类型的变量

print('luck_number的数据类型是:',type(luck_number)) # <class 'int'>
print(my_name,'的幸运数字是:',luck_number)

# python 动态修改变量的数据类型,通过赋值就可以直接修改
luck_number='北京欢迎您'
print('luck_number的数据类型是:',type(luck_number)) # <class 'str'>
# 在Python中请允许多个变量指向同一个值
no=number=1024 # no与number都指向了1024这个整数值
print(no,number)
print(id(no)) # id() 查看对象的内存地址 2160086833648 地址不固定
print(id(number)) # 2160086833648

# 常量的定义
pi = 3.1415926 # 定义了一个变量
PI = 3.1415926 # 定义了一个常量 不可被修改

'''

# 数值类型  整数类型表示的数值是没有小数部分的数值,包含正整数、负整数和0
'''
进制种类    引导符号    描述
十进制       无        默认情况,例如:365,786
二进制     0b或OB      由字符0和1组成,例如0b10101,0B10101
八进制     0o或00      由字符0到7组成,例如0o763,00765
十六进制    0x或0X      由字符0到9,a到f或A到F组成,例如0x987A,0X987A
'''
'''

示例:
num=987         # 默认是十进制,表示整数
num2=0b1010101  # 使用二进制,表示整教
num3=0o765      # 使用八进制,表示整教
num4=0x87ABF    # 使用十六进制,表示整数
print(num)
print(num2)
print(num3)
print(num4)

'''


'''
浮点数类型 表示带有小数点的数值,由整数部分和小数部分组成
注意事项:两个浮点类型的数在进行运算时,有一定的概率运算
结果后增加一些“不确定的”尾数
Python中的复数与数学中的复数形式完全一致,由实部和虚部组成
        j=√-1
在Python中实数部分使用.real表示,虚数部分使用.imag表示
'''

'''
示例:
# 浮点数类型的使用
height = 188.3 # 身高
print(height)
print(type(height))  # 查看数据类型
x = 10
y = 10.0
print('x的数据类型:',type(x)) # <class 'int'>
print('y的数据类型:',type(y)) # <class 'float'>

x = 1.99E1413
print('科学计数法:',x,'x的数据类型:',type(x))
print(0.1+0.2) # 不确定的尾数问题 0.30000000000000004
print(round(0.1+0.2,1))  # 保留一位小数  结果:0.3

# 复数类型的使用
x = 123+456j
print('实数部分:',x.real)
print('虚数部分:',x.imag)
'''


'''
字符串类型
字符串类型连续的字符序列,可以表示计算机所能识别的一切字符
字符串的界定符:单引号、双引号、三引号
转义字符    描述说明
\n          换行符
\t          水平制表位,用于横向跳到下一个制表位
\"          双引号
\'          单引号
\\          一个反斜杠
'''

'''
示例:
city = '深圳市'
address = '深圳市白三石龙'
print(city)
print(address)

print('深圳\n欢迎您')
print('深圳\t欢迎您')
print('深圳欢迎\'您\'')
print("深圳\\欢迎\"您\"")

'''
"""
示例:
# 多选字符串
info = '''地址:深圳市宝安区
民治街道白石龙
一区186栋
'''
print(info)
"""

# 字符串的索引和切片
# 正向 0 致 9,逆向 -1 致 -10
'''
示例:
s = 'HELLOWORLD'
print(s[0],s[-10]) # 序号和序号-10表示的是同一个字符
print('深圳欢迎您'[4]) # 获取的是同一个字符
print('深圳欢迎您'[-1]) # 获取的是同一个字符
print(s[2:7]) # 从2开始到7结束不包含7 正向递增
print(s[-8:-3]) # 反向递减
print(s[:5]) # 默认N从0开始
print(s[5:]) # M 默认是切到字符串的结尾

xy = '2024年'
yx = '过年放炮,暴富一整年'
print(xy+yx) # 连接两个字符
print(xy*5) # 对xy这个字符串的内容复制5次
print(5*xy) # 效果和 xy*5 一样
isin = '2024' in xy
print(isin) # True  判断 2024 是否存在
print('2023' in xy) # False
'''

# 非0的整数布尔值都是True
# 所有非空的字符串布尔值都是True

'''
数据类型之间的转换
函数              描述说明
int(x)         将x转换为整数类型
float(x)       将x转换为浮点数类型
str(x)         将x转成字符串
chr(x)         将整数 x转换为一个字符
ord(x)         将一个字符x转换为其对应的整数值
hex(x)         将一个整数 x转换为一个十六进制字符串
oct(x)         将一个整数 x转换为一个八进制字符串
bin(x)         将一个整数 x转换为一个二进制字符串
'''
'''
示例:
x = 10
y = 3
z = x/y #在执行除法运算的时候,将运算的结果赋值给z
print(z,type(z)) #隐式转换,通过运算隐式的转了结果的类型

# float 类型转成int类型,只保留整数部分
print('float类型转成int类型:', int(3.14))
print('float类型转成int类型:', int(-3.14))
print('float类型转成int类型:', int(-3.9))

# 将int转成float类型
print('将int转成float类型:',float(10))
# 将str转成int类型
print(int('100')+int(10))
# 将字符串转成int或float时报错的情况
# print(int('18a')) #IndentationError: unexpected indent
# print(int('3.14')) #IndentationError: unexpected indent
# print(int('45a.987')) #IndentationError: unexpected indent

# chr() ord() 一对
print(ord('何')) # 将在unicode表中对应的整数值
print(chr(20309)) # 20309 整数在Unicode表中对应的字符是什么
# 进制之间的转换操作,十进制与其他进制之间的转换
print('十进制转成十六进制:', hex(20309))
print('十进制转成八进制:', oct(20309))
print('十进制转成二进制:', bin(20309))
'''


# eval 函数
'''
Python中的内置函数
用于去掉字符串最外侧的引号,并按照Python语句方式执行去掉引
号后的字符串
eval()函数经常和input()函数一起使用
eval的语法格式
    变量=eval(字符串)
'''
'''
s = '3.14+3'
print(s,type(s))
x = eval(s) # 使用eval函数去掉s这个字符串中左右的引号,执行加法运算
print(x,type(x))
# eval函数经常与input()函数一起使用,用来获取用户输入的数值
age = eval(input('请输入您的年龄:'))
print(age,type(age))
height = eval(input('请输入您的身高:'))
print(height,type(height))
hello = '深圳欢迎您'
print(hello)
print(eval('hello')) # 输入 "深圳欢迎您"  
# print(eval('深圳欢迎您'))  # NameError: name '深圳欢迎您' is not defined
'''

'''
        算术运算符:用于处理四则运算的符号

运算符     描述说明        示例          结果
+           加法          1+1           2
-           减法          1-1           0
*           乘法          2*3           6
/           除法          10/2          5.0
//          整除          10//3         3
%           取余          10%3          1
**          幂运算         2**4         16

'''

'''
示例:
print('加法:', 1+1)
print('减法:', 1-1)
print('乘法:', 2*3)
print('除法:', 10/2)
print('整除:', 10//2)
print('取余:', 10%3)
print('幂运算:', 2**5) # 2*2*2*2*2
print(10/0)  # 报错: ZeroDivisionError: division by zero
'''

'''
赋值运算符
算术运算符的优先级由高到低的是:
第一级:**
第二级:*、/、%、//
第三级:+、-

运算符                     描述说明                示例                  展开形式
=                        简单的赋值运算            x=y                    x=y
+=                       加赋值                  x+=y                   x=x+y
-=                       减赋值                  x-=y                   x=x-y
*=                       乘赋值                  x*=y                   x=x*y
/=                       除赋值                  x/=y                   x=x/y
%=                       取余赋值                 x%=y                  x=x%y
**=                      幂赋值                  x**=y                  x=x**y
//=                      整除赋值                x//=y                  x=x//y


示例:

x = 20 # 直接赋值,直接将20赋值给左侧的变量x
y = 10
x = x+y  # 将x+y的和赋值给x,x的值为30
print(x)    # x的值是30
x += y  # 40 相当于x=x+y
print(x)    # 40
x -= y  # 相当于x=x-y
print(x)    # 30
x *= y    # 300
print(x)
x /= y
print(x, type(x))    #30.0发生了类型转换 x的数据类型为float类型
x %= 2  # 相当于 x = x%2
print(x)    # 0.0
z=3
y //= z     # 相当于 y = y//z
print(y) # 3
y **= 2     # 相当于 y = y**2
print(y)    # 9

# python 支持链式赋值
a=b=c=100   # 相当于执行 a=100 b=100 c=100
print(a,b,c)

# Python 支持系列解包赋值
a,b=10,20   # 相当于执行了 a=10 b=20
print(a,b)

print('------------如何交换两个变量的值呢------------')
a,b = b,a   # 将b的值赋给a,将a的值赋给b
print(a,b)

'''


'''
比较运算符

运算符                 描述说明                示例                      展开形式
>                      大于                 98>90                      True
<                      小于                 98<90                      False
==                     等于                 98==90                     False
!=                     不等于               98!=90                      True
>=                     大于或等于            98>=98                      True
<=                     小于或等于            98<=98                      True

示例:
print('98大于90吗?', 98>90)
print('98小于90吗?', 98<90)
print('98等于90吗?', 98==90)
print('98不等于90吗?', 98!=90)
print('98大于等于98吗?', 98>=98)
print('98小于等于98吗?', 98<=98)

'''


'''
                            逻辑运算符

运算符             描述说明                用法                   结合方向
and                逻辑与            表达式1 and 表达式2          从左到右
or                 逻辑或            表达式1 or 表达式2           从左到右
not                逻辑非            not 表达式                  从右到左
示例:
print(True and True)
print(True and False)
print(False and False)
print(False and True)
print('-' * 40)
print(8>7 and 6>5)  # True
print(8>7 and 6<5)  # False
print(8<7 and 10/0)  # False,10/0并没有运算,当第一个表达式的结果为False,直接得结果,不会计算and右则的表达式了
print('-' * 40)
print(True or True)
print(True or False)
print(False or False)  # False
print(False or True)
print('-' * 40)
print(8>7 or 10/0)  # True,左则表达式结果为True时,or的右则表达式根本不执行运算符
print('-' * 40)
print( not True)  # False
print( not False)  # True
print( not 8>7)  # False

                位运算符
                
位运算符 把数字看作二进制数来进行计算的

    按“位与”运算(&)                         按“位或”运算(|)
    0000 0000 0000 1100                 0000 0000 0000 0100
&   0000 0000 0000 1000              |  0000 0000 0000 1000
————————————————————————————        ————————————————————————————
    0000 0000 0000 1000                 0000 0000 0000 1100
    
示例:
print('按位与运算:', 12&8)
print('按位或运算:', 4&8)
    
    
    按“位异或”运算 (^)                        按“位取反”运算 (~)
    0000 0000 0001 1111
^   0000 0000 0001 0110              ~  0000 0000 0111 1011
____________________________        _______________________________
    0000 0000 0000 1001                 1111 1111 1000 0100
示例:
print('按位异或运算:', 32^22)
print('按位取反:', ~123)

        位运算符
“左移位”运算 (<<)是将一个二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用0补充。

        |
        |0 0 0 0 0 0 1 0
        |
     0 0|0 0 0 0 1 0 0 0
     溢出|            左移后补0
     
示例:(左乘)
print('左移位:', 2<<2)  # 8,表示的是2向左移动两位 2*2*2
print('左移位:', 2<<3)  # 相当于2* 2*2*2

'右移位”运算 (>>)是将一个二进制数向右移动指定的位数,右边(低
位端)溢出的位被丢弃,左边(高位端)的空位端,如果最高位是0(正数)左
侧空位填0,如果最高位是1(负数),左侧空位填1。
        示图1:
        0 0 0 0 1 0 0 0|
                       |
        0 0 0 0 0 0 1 0|0 0
        左移后补0        |溢出
        示图2:
        1 0 0 0 1 0 0 0|
                       |
        1 1 1 0 0 0 1 0|0 0
        左移后补1        |溢出
        
示例:(右除)
print('右移位:', 8>>2)     # 8向右移动两位相当于 8//2,4//2
print('右移位:', -8>>2)    # -2


            运算符的优先级
    运算符                 描述说明
    **                    幂运算符
    ~、+、-               取反、正号、负号
    *、/、%、//            算术运算符
    +、-                  算术运算符
    <<、>>                位运算符中的左移位和右移位
    &                     位运算符中的按位与
    ^                     位运算符中的异域
    |                     位运算符中的按位或
<、<=、>、>=、!=、==        比较运算符
    =                     赋值运算符

操作示例:
# 通过计算取出对应的数
num = eval(input('请输入一个四位整数:'))
print('个位上的数:', num%10)
print('十位上的数:', num//10%10)
print('百位上的数:', num//100%10)
print('千位上的数:', num//1000%10)

# 字符串取出对应的数
num = input('请输入一个四位整数:')
print('个位上的数:', num[3])
print('十位上的数:', num[2])
print('百位上的数:', num[1])
print('千位上的数:', num[0])

'''
喜欢就支持以下吧
点赞 0

发表评论

快捷回复: 表情:
aoman baiyan bishi bizui cahan ciya dabing daku deyi doge fadai fanu fendou ganga guzhang haixiu hanxiao zuohengheng zhuakuang zhouma zhemo zhayanjian zaijian yun youhengheng yiwen yinxian xu xieyanxiao xiaoku xiaojiujie xia wunai wozuimei weixiao weiqu tuosai tu touxiao tiaopi shui se saorao qiudale qinqin qiaoda piezui penxue nanguo liulei liuhan lenghan leiben kun kuaikule ku koubi kelian keai jingya jingxi jingkong jie huaixiao haqian aini OK qiang quantou shengli woshou gouyin baoquan aixin bangbangtang xiaoyanger xigua hexie pijiu lanqiu juhua hecai haobang caidao baojin chi dan kulou shuai shouqiang yangtuo youling
提交
评论列表 (有 0 条评论, 745人围观)

最近发表

热门文章

最新留言

热门推荐

标签列表