python-基础数据类型和变量

基本数据类型

  • int 8
  • float 8.8
  • str "8"
  • bool True/False
i = 1
print(type(i)) ## <class 'int'>
f = 1.2
print(type(f)) ## <class 'float'>
s = "1.2"
print(type(s)) ## <class 'str'>
b = True
print(type(b)) ## <class 'bool'>

整型

  1. 对于Python3,由于去掉了long类型,int类型没有上限(准确说还是有的,取决于内存大小。。)

    ## python2
    import sys
    max = sys.maxsize
    print(max)
    print(type(max))
    
  2. 不仅能表示10进制,还能表示八进制,16进制的数

    # 演示进制
    # 二进制
    # 二进制的表示方式: 1. 0和1组合 2.0b作为前缀
    binary = int("0b1111", 2) # 二进制转十进制
    print(binary)
    
    # 八进制的表示方式: 1. 0-7组合 2. 0o作为前缀
    octal = int("0o17", 8) # 八进制转十进制
    print(octal)
    
    # 16进制的表示方式: 1. 0-9+a-f组合 2. 0x作为前缀
    hexadecimal = int("0xf", 16) # 16进制转十进制
    print(hexadecimal)
    
    print(bin(15)) # 十进制转二进制
    print(oct(15)) # 十进制转八进制
    print(hex(15)) # 十进制转十六进制
    
  3. Python允许在数字中间以_分隔,因此,写成10_000_000_00010000000000是完全一样的。

浮点型

  1. 将带有小数点的数字都成为浮点数。小数点可以出现在数字的任意位置

  2. 科学计数法

    num = 1.23e9 # e 指代10
    print(num)
    right = 12.3e8 # e 指代10
    print(right)
    print("left = right ? --> " + str(left == right)) # 小数点的位置不一样,但是结果却是相同的
    
  3. 计算精度的问题

    print(3 * 0.1) # 0.30000000000000004
    print(0.2 + 0.1) # 0.30000000000000004
    

字符串

  1. '' ""

    "'python' is my favorite language!"
    '"python" is my favorite language!'
    

    注意点:'''(不是很推荐使用,容易跟多行注释搞混)

    message = '''
    languages:
        java
        python
    '''
    print(message)
    '''
    languages:
        java
        python
    '''
    
  2. 常用函数

    • title()以首字母大写的方式显示每个单词 upper()所有字母转大写 lower()所有字母转小写

      name = "python language"
      print(name.title()) # Python Language
      print(name.upper()) # PYTHON LANGUAGE
      print(name.upper().lower()) # Python Language
      
    • 拼接字符串

      first_name = "jack"
      last_name = "love"
      full_name = first_name + " " + last_name
      msg = "hello, " + full_name.title() + "!"
      print(msg)
      ## 注意点
      a = b = c = 1
      print("a = " + a + ", b = " + b + ", c = " + c) # 在做拼接的时候,python并不能像java一样自动转换类型,报错
      '''
      print("a = " + a + ", b = " + b + ", c = " + c)
      TypeError: can only concatenate str (not "int") to str
      '''
      
    • 转义字符串(\t \n

      print("languages:\n\tpython\n\tjava\n\tgo\n\thtml")
      '''
      output:
      languages:
              python
              java
              go
              html
      '''
      
    • 去空rstrip lstrip strip(注意点:要想永远删除这个字符串中的空白,必须将删除操作的结果存回到变量中)

      >>> msg = 'python   '
      >>> msg
      'python   '
      >>> msg.rstrip()
      'python'
      >>> msg
      'python   '
      >>> msg = msg.rstrip() 
      >>> msg
      'python'
      >>> msg = '  python   '  
      >>> msg
      '  python   '
      >>> msg.lstrip() 
      'python   '
      >>> msg.rstrip() 
      '  python'
      >>> msg.rstrip().lstrip()
      'python'
      >>> msg.strip()           
      'python'
      
  3. 引号的注意点

    msg = "it's mine"
    print(msg);
    # SyntaxError: invalid syntax
    msg = 'it's mine' 
    print(msg);
    

布尔值

  • True 非0就是True

  • False 0就是False

基本数据类型的相互转化

print(type("1")) ##  <class 'str'>
print(type(int("1"))) ## <class 'int'>
print(type(123)) ## <class 'int'>
print(type(str(123))) ##  <class 'str'>
print(type(123))  # <class 'int'>
print(type(bool(123)))  # <class 'bool'>
print(bool(123)) # True 非0就是True
print(bool(0)) # False 0就是False
print(type(1.2)) # <class 'float'>
print(type(int(1.2))) # <class 'int'>
print(int(1.2)) # 1 精度丢失

变量

变量赋值

  • Python 中的变量赋值不需要类型声明。

  • 每个变量在内存中创建,都包括变量的标识,名称和数据这些信息。

  • 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。

  • 等号(=)用来给变量赋值。

  • 等号(=)运算符左边是一个变量名,等号(=)运算符右边是存储在变量中的值。

name = "shawn" # 第一次赋值
print(name) # shawn
name = "jack" # 重新赋值
print(name) # jack

多变量赋值

a = b = c = 1
print("a = " + str(a) + ", b = " + str(b) + ", c = " + str(c))
username, password = "shawn", "123456"
print("username = " + username)
print("password = " + password)

变量命名规范

参考文档:

英文版:https://www.python.org/dev/peps/pep-0008/

中文版:https://python.freelycode.com/contribution/detail/47

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,383评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,522评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,852评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,621评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,741评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,929评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,076评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,803评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,265评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,582评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,716评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,395评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,039评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,798评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,027评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,488评论 2 361
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,612评论 2 350